Я хочу это предпочтительно по семантической причине, поскольку результат анализа соответствующей программы подразумевает, что URL-адрес играет в ней существенную роль. Как следствие, такой класс URL-адресов также будет иметь большое практическое применение в этой программе.
Конечно, я мог бы написать такой класс самостоятельно, но мне хотелось бы осмотреться, прежде чем начинать изобретать велосипед.
Я посмотрел urllib2 и urlparse. urlparse в основном имеет необходимую мне функциональность, но он не инкапсулирует ее в такой класс, как java.net.URL. Что касается моего анализа моей программы, то он работает наоборот.
Я также просмотрел исходный код urlparse, классы SplitResult и ParseResult. У них есть некоторые базовые функции, и их можно использовать для создания подклассов. Но мне придется переписать остальные функции urlparse как методы подкласса.
Я также нашел mxURL — гибкий тип данных URL для Python. Это очень близко к тому, чего я действительно хочу. Только для моих целей это кажется излишним.
Может кто-нибудь предложить другой вариант? Стоит ли мне изобретать велосипед?
Мое решение:
Чтобы получить класс URL, я сделал две вещи:
- Наследовал от urlparse.ResultMixin.
- Определите функцию, которая вызывает только urlparse.urlparse() и преобразует результаты в
параметры экземпляра URL.
Подробнее здесь: https://stackoverflow.com/questions/617 ... -in-python