2010-12-10 4 views
0

Gibt es eine Möglichkeit, Urlparse Ursplit-Funktion zu erzwingen, um den Fall des Str übergeben zu erhalten? Es bewahrt den Fall des Pfades im zurückgegebenen Tupel, aber nicht des Netlocs, und das ist mir wichtig. (Ich weiß, dass Domain-Namen nicht zwischen Groß- und Kleinschreibung unterscheiden, aber wir führen einige A/B-Tests mit verschiedenen Großbuchstaben des Namens durch und müssen den Fall beibehalten.)Erzwingen urlparse.urlsplit, um str zu erhalten Fall

Vielen Dank.

+0

Das ist seltsam - zumindest für mich (Python 2.6), "urlparse.urlsplit (" http://www.ExamPle.com/ ") .netloc" gibt "Www.ExamPle.com" mit Fall beibehalten . –

+0

Vielleicht ist es Implementierung/Plattform-spezifisch, da ich Camel-Case 'Www.ExamPle.com' in meinem Python sehe. Ich habe eine verrückte Idee, die vielleicht nützlich ist: parse die URL, nimm netloc, mache einen regulären Ausdruck ohne Beachtung der Groß- und Kleinschreibung (du musst '.'s screenen) und suche in der Quell-URL. – khachik

+0

Der netloc wird nicht auf Python 2.7.x "lower()" editiert: http://svn.python.org/view/python/branches/release27-maint/Lib/urlparse.py?view=markup Was? Version von Python bist du an? –

Antwort

1

Es gibt keine Möglichkeit, urlsplit dazu zu zwingen.

Sie können jedoch wickeln Sie es und dann einige schmutzige Arbeit, um Fall wiederherzustellen, oder kopieren Sie den Quellcode und führen Sie die Änderung selbst aus. Oder schreiben Sie die Funktion natürlich von Grund auf neu.

Ich würde für die zweite Option gehen.