2016-04-21 7 views
3

Comment pourrais-je extraire facilement le nom d'hôte à partir d'une URL git comme ssh://[email protected]:3333/org/repo.gitParse un git URL comme 'ssh: //[email protected]: 3333/org/repo.git'?

u = urlparse(s) 

me donne

ParseResult(scheme='ssh', netloc='[email protected]:3333', path='/org/repo.git', params='', query='', fragment='') 

qui signifie que Netloc est le plus proche de ce que je veux et cela laisse une quantité décevante de travail pour moi .

dois-je faire

u.netloc.split('@')[1].split(':')[0] 

ou est-il une bibliothèque qu'il gère mieux?

Répondre

7

Le retour ParseResult a un attribut hostname:

>>> urlparse('ssh://[email protected]:3333/org/repo.git').hostname 
'gitlab.org.net' 
+0

Pour une raison quelconque, la documentation pour ParseResult ne contiennent pas d'informations sur ParseResult.hostname. Cependant, https://docs.python.org/2.7/library/urlparse.html#module-urlparse. – cowlinator