Форум сайта python.su
Собствыенно САБЖ.
Ссылка на модуль SocksiPy.
Под Python 3.1 не завелся - выдал кучу ошибок. Сам модуль не такой большой: 387 строк с отступами и каментами.
Может кто-нибудь уже переделывал для себя или видел что-либо в паблике? Или может кто-то смог бы переписать за вознаграждение? ;)
Прошу отписаться здесь.
Спасибо.
Офлайн
а 2to3 че сказал?)
Офлайн
чесслово даже не пробовал, т.к. изменения в 3-м питоне коснулись и библиотеки socket, которая используется в SockiPy.
т.е. банальной заменой старых названий модулей на новые и строк на байты не обойдешься.
Офлайн
Сведения о кардинальном изменении socket сильно преувеличены и не соответствуют действительности.
2to3 отлично все правит.
Офлайн
Андрей Светлов, если бы так…
2to3 без флагов выдает, что ничего делать не надо. Но мы то с вами знаем, что это не так :)
Вот отчет с флагом -f idioms, но это больше рефакторинг, чем портинг с 2 на 3 Python.
RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: Refactored socks.py
--- socks.py (original)
+++ socks.py (refactored)
@@ -358,7 +358,7 @@
To select the proxy server use setproxy().
"""
# Do a minimal input check first
- if (type(destpair) in (list,tuple)==False) or (len(destpair)<2)
or (type(destpair[0])!=str) or (type(destpair[1])!=int):
+ if (type(destpair) in (list,tuple)==False) or (len(destpair)<2)
or (not isinstance(destpair[0], str)) or (not isinstance(destpair[1], int)):
raise GeneralProxyError((5,_generalerrors[5]))
if self.__proxy[0] == PROXY_TYPE_SOCKS5:
if self.__proxy[2] != None:
RefactoringTool: Files that need to be modified:
RefactoringTool: socks.py
Офлайн