2010-12-10 5 views
0

Existe-t-il un moyen de forcer la fonction urlsplit d'urlparse à préserver le cas du str passé? Cela préserve le cas du chemin dans le tuple retourné, mais pas du netloc, et c'est important pour moi. (Je sais que les noms de domaine ne sont pas sensibles à la casse, mais nous effectuons des tests A/B avec différentes capitalisations du nom, et nous devons préserver le cas.)Forcer urlparse.urlsplit à préserver le casse

Merci.

+0

C'est étrange - au moins pour moi (Python 2.6), 'urlparse.urlsplit ('http://Www.ExamPle.com/') .netloc' donne' 'Www.ExamPle.com'' avec le cas préservé . –

+0

Peut-être que c'est une implémentation/plate-forme spécifique, puisque je vois camel-case 'Www.ExamPle.com' dans mon python. J'ai une idée folle qui peut-être utile: analyser l'url, obtenir netloc, faire une expression régulière insensible à la casse (vous devez filtrer '.'s) et chercher dans l'URL source. – khachik

+0

Le netloc n'est pas "lower()" sur Python 2.7.x: http://svn.python.org/view/python/branches/release27-maint/Lib/urlparse.py?view=markup version de Python êtes-vous? –

Répondre

1

Il n'y a aucun moyen de forcer urlsplit à le faire.

Vous pouvez, cependant, envelopper, puis faire un peu de travail sale pour restaurer le cas, ou copier le code source et faire la modification vous-même. Ou écrivez la fonction à partir de zéro, bien sûr.

J'irais pour la deuxième option.

Questions connexes