Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для экспертов » SSLEOFError при подключении в imaplib » Сен. 10, 2016 18:09:07


 class SOCKS_IMAP4_SSL(imaplib.IMAP4_SSL):
    def __init__(self, host, port = imaplib.IMAP4_SSL_PORT, proxy_type = None, proxy = None,):
            self.proxy = proxy
            self.proxy_type = proxy_type
            imaplib.IMAP4_SSL.__init__(self, host, port)
    def open(self, host, port = imaplib.IMAP4_SSL_PORT):
        self.host = host
        self.port = port
        if self.proxy and self.proxy_type:
            proxy_ip, proxy_port = self.proxy.split(':')
            self.sock = socks.create_connection((host, port), self.proxy_type, proxy_ip, int(proxy_port))
        else:
            self.sock = socket.create_connection((host, port))
        self.sslobj = ssl.wrap_socket(self.sock, self.keyfile, self.certfile)
        self.file = self.sslobj.makefile('rb')
При подключении, через сокс выдает ошибку:
SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590)
В чем может быть проблема?

Python для новичков » Вотзврат основного окна » Сен. 9, 2016 19:49:05

Добрый вечер!
У меня программа вызывает модальное окно и прячет основное окно методом root.withdraw(),
после закрытия модального окна мне нужно вернуть основное, но не знаю как это сделать.
Подскажите пожалуйста.

Python для новичков » Setdefaultproxy для каждого процесса отдельно? » Сен. 9, 2016 09:18:06

При использовании multiprocessing.Process, socks.setdefaultproxy установит socks для процесса в котором вызывается?

Инструментальные средства разработки » Anaconda + Keras + Windows 7 » Сен. 8, 2016 15:53:10

Ребят подскажите как на анаконду накрутить Keras под windows7 в офлайне? Что надо делать по шагам? Я так понимаю там еще нужен theano?

Python для новичков » telnet в телнете виснет » Сен. 8, 2016 07:17:02

Ситуация какая. Есть некое устройство маршрутизатор. Доступ к нему по телнет, но потом внутри сессии еще раз вызывается телнет. По putty все прокатывает(скрин)
проблема в том что на втором вызове все виснет.


А вот python 2.7 после команды telnet 127.0.0.1 8888 виснет, и только по таймауту отлипает.
Строку tn.read_until(“BNG_Router# ”) пробовал комментировать не влияет.
Не подскажете где туплю?
Вот код
 import telnetlib
import time
def main():
	HOST = "172.17.53.30".encode("utf-8")
	user = "user\r".encode("utf-8")
	password = "passw\r".encode("utf-8")
	tn = telnetlib.Telnet(HOST,23,5)
	# Логинимся
	print 'login',
	tn.read_until("Username: ")
	tn.write(user.encode("utf-8") )
	print 'ok\npass',
	tn.read_until("Password: ")
	tn.write(password.encode("utf-8") )
	print 'ok'
	# Читаем результат, посылаем команду
	time.sleep(3)
        tn.write("telnet 127.0.0.1 8888\r")
        time.sleep(3)
        tn.read_until("BNG_Router# ")
        tn.write("show sessions all include IPoE\r")
	tn.write("exit\r")
	print tn.read_all()
main()

Python для новичков » Selenium: скачать страницу целиком » Сен. 7, 2016 09:19:11

Друзья, привет! Есть задача загрузить html-страницу (с выполнением js) и получить доступ ко всему коду страницы (сохранить итоговую страницу в файл, например). Загружаю страницу через Selenium + Chrome. Есть методы поиска конкретных элементов, но как получить доступ ко всему коду или всему DOMу, как в vba через ie.document?

update: вижу тут решение для win32 и IE. Все же интересно, есть ли подобные варианты для Других браузеров?

Django » HELP плз при создании проекта Pycharm ошибка » Сен. 5, 2016 09:34:37

Плз Нужна помощь. При создании проекта(а так же и в старых) выдает ошибку:“Error creating Django application: could not find Django installation under C:\Python34\python.exe” хотя в настройках проекта django установлен и pip и setuptools. Djnago не могу переустановить из pip т.к. выдает ошибку кодировки utf-8. <code>Collecting Django Using cached Django-1.10.1-py2.py3-none-any.whl Installing collected packages: Django Found existing installation: Django 1.10
You are using pip version 7.1.0, however version 8.1.2 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.<br> Exception: Traceback (most recent call last): File "C:\Python34\lib\site-packages\pip-7.1.0-py3.4.egg\pip\basecommand.py", <br>line 223, in main<br> status = self.run(options, args) File "C:\Python34\lib\site-packages\pip-7.1.0-py3.4.egg\pip\commands\install.py",<br> line 299, in run<br> root=options.root_path, File "C:\Python34\lib\site-packages\pip-7.1.0-py3.4.egg\pip\req\req_set.py",<br> line 640, in install<br> requirement.uninstall(auto_confirm=True) File "C:\Python34\lib\site-packages\pip-7.1.0-py3.4.egg\pip\req\req_install.py", <br>line 683, in uninstall<br> for path in pip.wheel.uninstallation_paths(dist):<br> File "C:\Python34\lib\site-packages\pip-7.1.0-py3.4.egg\pip\wheel.py", line 512, in unique<br> for item in fn(args, *kw): File "C:\Python34\lib\site-packages\pip-7.1.0-py3.4.egg\pip\wheel.py", line 531, in uninstallation_paths<br> r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD'))) File "C:\Python34\lib\site-packages\pip-7.1.0-<br>py3.4.egg\pip_vendor\pkg_resources__init.py",<br> line 1619, in get_metadata_lines return yield_lines(self.get_metadata(name)) File "C:\Python34\lib\site-packages\pip-7.1.0-<br>py3.4.egg\pip_vendor\pkg_resources__init.py", <br>line 1616, in get_metadata return self._get(self._fn(self.egg_info, name)).decode("utf-8")<br> UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcd in position 339442: <br>invalid continuation byte

Python проекты » Loaddy - нагрузочное тестирование сайтов  » Сен. 3, 2016 14:14:09

Добрый день, уважаемые форумчане и гости форума.

Я являюсь владельцем проекта loaddy.com. Единственный русскоязычный проект, посвященный нагрузочному тестированию сайтов или других веб-систем. До недавнего времени сайт очень хорошо работал и был отличный фидбек от пользователей. Команда состояла из меня и программиста. К сожалению, программист резко отказался далее сопровождать проект, т.к. предложили хорошую работу и на мой проект времени совсем не оставалось. Все попытки найти толкового программиста за небольшую стоимость часа не увенчались успехом.

Буду рад, если найдутся люди, которы смогут возобновить работу сервиса. Пару месяцев назад он перестал выдавать результаты. Даже мои знания (системный администратор) не помогли мне выявить причину неработоспособности.

Буду признателен за помощь в поиске заинтересованных лиц.

P.s. Сам по себе проект очень хороший и удобный для пользователей и жалко его закрывать, т.к. потрачено не мало денег…

Центр помощи » Помогите что не так с кодом » Сен. 3, 2016 12:42:27

Django пытаюсь настроить кэширование редактирую файл settings.py пишу код все как нашел в гугле но все равно пишет включите кэш браузера вот код


CACHES = {
‘default’: {
‘BACKEND’: ‘django.core.cache.backends.filebased.FileBasedCache’,
‘BACKEND’: ‘django.core.cache.backends.memcached.MemcachedCache’,
‘LOCATION’: ‘/var/tmp/django_cache’,
‘TIMEOUT’: 60,
‘OPTIONS’: {
‘MAX_ENTRIES’: 1000
}
}
}




MIDDLEWARE_CLASSES = (
‘django.middleware.cache.UpdateCacheMiddleware’,
‘django.middleware.common.CommonMiddleware’,
‘django.middleware.cache.FetchFromCacheMiddleware’,
)
CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True

Флейм » Подработка на одни выходные: скрипт постинга в социальные сети » Сен. 2, 2016 11:52:10

Идея такая. В конфиге я указываю login-password от twitter, google, facebook, vkontakte (+ id стены во вконтакте). Запускаю скрипт, с указанием url определенной статьи и, опционально, картинкой. Скрипт шарит url в заданных соц сетях. Можно через OAuth или как-то еще, но тогда с вас README.md о том, где взять нужные токены. Результат работы если хотите можете выложить на GitHub. На качество кода, наличие комментов и тд мне как-то пофиг.

Если интересно, пишите на afiskon сбк gmail дот com, сколько за это хотите и что по срокам.

Python 3. Предпочитаю PayPal, но думаю что вариант с Яндекс.Деньгами и банковским переводом тоже возможен.

Флейм » Приглашаем в команду Middle / Senior Python Developer » Авг. 30, 2016 09:06:29

В команду Siberian.pro требуется Python разработчик.

Мы помогаем стартапам со всего мира реализовывать их идеи.

Да мы занимаемся аутсорсом, но только тех проектов, которые нам нравится делать.

Мы ищем человека, который:

  • Не боится браться за решение новых, нестандартных задач и добиваться их решения.
  • Имеет опыт коммерческой разработки
  • Умеет хорошо обращаться с Python (Django / Flask / Tornado)
  • Знание JavaScript (Client/Node.JS) будет плюсом
  • Имел опыт коммерческой разработки с PostgreSQL, MySQL, NoSQL
  • Знает как работают высоконагруженные проекты (Nginx, Redis, RabbitMQ, Sphinx)
  • Пунктуален и трудолюбив

Мы предлагаем:

  • Сложную интересную работу и настоящий гибкий график.
  • Обучение в рамках Технопарка (посещение IT конференций и мероприятий).
  • Изучать и применять новые технологии на практике и обмениваться знаниями и опытом.
  • Веселый и дружелюбный офис в IT Инкубаторе Академпарка (Новосибирск).

Зарплата от 80 000 руб.

Требуемый опыт работы от 3 лет

По всем вопросам по email: sv@siberian.pro или в личку.

Инструментальные средства разработки » Как изменить переменную во время отладки в PyCharm? » Авг. 28, 2016 22:33:45

Друзья! Как изменять - понятно. Но не изменяется. На всякий случай, что делаю:
Код replace.py

 value = 'old'
print (value)

Открываю в IDE, ставлю бряк на строке “print (value)”, запускаю отладчик, брякаюсь на бряке, иду в окно Variables, там ПКМ на “value”, потом “Set Value”, потом собсно изменяю переменную, пишу ‘new’ (именно так, с одиночными кавычками), потом всё. Клацаю мышью где-нибудь в другом месте, но value по-прежнеиу остаётся ‘old’

На всякий случай вот видео собсно изменения.
http://vimple.co/646ff19985ea4dfc904f867c0139a941

ЧЯДНТ? Спасибо, кто откликнется.

Python для новичков » Проблемы отображения картинок в тетрадках Ipython » Авг. 28, 2016 22:21:26

Добрый вечер дамы и господа, при прохождении курса столкнулся с проблемой некорректного отображения img тегов в тетрадке

как это можно изменить ?

ссылка на картинку , в крупном масштабе
http://pastenow.ru/Upload/Paste/WJRA.png

картинка - превью


как можно заметить, ошибок в тегах нет, также нет и ошибок в местоположении файлов - все на месте

с чем это может быть связано ?

Python для новичков » Не могу импортировать csrf » Авг. 27, 2016 14:37:27

from django.core.context_processors import csrf
Подсвечиваает Csrf
settings
"""
Django settings for MyBlog project.

Generated by 'django-admin startproject' using Django 1.9.6.

For more information on this file, see
https://docs.djangoproject.com/en/1.9/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.9/ref/settings/
"""

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'z$8+858_zk!!zey@pih$7)&vv=xn-i7h45hmdeh$np2&wp*t6n'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'loginsys',
]

MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'MyBlog.urls'

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.tz',

],
},
},
]

WSGI_APPLICATION = 'MyBlog.wsgi.application'


# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}


# Password validation
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]


# Internationalization
# https://docs.djangoproject.com/en/1.9/topics/i18n/

LANGUAGE_CODE = 'ru-RU'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/

STATIC_URL = '/static/'
ERROR
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x02F7F540>
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "C:\Python34\lib\site-packages\django\core\management\commands\runserver.py", line 121, in inner_run
self.check(display_num_errors=True)
File "C:\Python34\lib\site-packages\django\core\management\base.py", line 385, in check
include_deployment_checks=include_deployment_checks,
File "C:\Python34\lib\site-packages\django\core\management\base.py", line 372, in _run_checks
return checks.run_checks(**kwargs)
File "C:\Python34\lib\site-packages\django\core\checks\registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "C:\Python34\lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "C:\Python34\lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "C:\Python34\lib\site-packages\django\utils\functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Python34\lib\site-packages\django\urls\resolvers.py", line 310, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "C:\Python34\lib\site-packages\django\utils\functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Python34\lib\site-packages\django\urls\resolvers.py", line 303, in urlconf_module
return import_module(self.urlconf_name)
File "C:\Python34\lib\importlib\__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "D:\Projects\MyBlog\MyBlog\urls.py", line 19, in <module>
from loginsys import urls
File "D:\Projects\MyBlog\loginsys\urls.py", line 2, in <module>
from loginsys import views
File "D:\Projects\MyBlog\loginsys\views.py", line 4, in <module>
from django.core.context_processors import csrf
ImportError: No module named 'django.core.context_processors'

Python для экспертов » Popen cat > blabla : No such file or directory » Авг. 25, 2016 23:08:26

Всем привет. В общем задача: перенести баш команду на python 3.
Команда: sudo innobackupex –user=USER –password=PSWRD –compress –stream=xbstream ./ | ssh -p PORT USER@HOST “cat -> /to/data/dir/compressed.xbstream”
Код:
command1 = ‘ innobackupex –user=USER –password=PSWRD –compress –stream=xbstream ./ ’
command2 = ‘ssh -p PORT USER@HOST “cat -> /to/data/dir/compressed.xbstream”’
command1 = command1.split()
command2 = command2.split()
p1 = Popen(+ command1, stdin=PIPE, stdout=PIPE, stderr=PIPE, universal_newlines=True) перед команд1 судо -S в квадратный скобках. Не вставляется
p2 = Popen(command2, stdin=p1.stdout, stdout=PIPE, stderr=PIPE, universal_newlines=True)
outs, errs = p2.communicate(SUDOPASSWORD)
на что он выдает bash: cat > /to/data/dir//2016-08-26 03:06:01.901438.xbstream: No such file or directory.
Не совсем понимаю, как с этим бороться. Команда собирает бекап MySQL в файл .xbstream и вместо того, чтобы класть на локальную машину, пишет прямиком на удаленный сервер. Сама команда работает с терминала. Буду признателен за хелп

Python для новичков » Selenium загрузка файла » Авг. 24, 2016 13:42:11

есть задача, селениумом2-python загрузить файл на сервере (в смысле - с веб-страницы, которая на веб-сервере).
удачно дохожу до клика на нужном элементе, получаю окно выбора файла - и тут выясняется, что селениум это не делает, и нужно делать костыли с помощью pywinauto + psutil

Проверяю pywinauto - отлично пишет, и читает файл в нотепад(просто, не ++)
пытаюсь запустить chrome.exe (у которого, как известно много процессов),
ну запускается (хотя и выдает ошибку), а дальше нужно открыть файл.
есть один пример в инете, там с помощью pywinauto/psutil таки находится нужный процесс, но у меня не пашет psutil.

Мне нужно выполнить эту задачу (открытие файла на сайте, бровзер именно Хром), не сошелся свет клином на Селениуме, может есть к-либо другие прибабахи для тестирования, чтобы файл открывали.
Другие селениумы (в смысле Java и перл) не пробовал, да я и яву/перл не знаю. Да и если нет в питоновском, наверно не будет и в других.
Слышал, но не пробовал про Robot Framework - поможет ли?

Можно ли (по)решить эту задачу?

Python для новичков » не работает psutil а очень надо » Авг. 24, 2016 13:28:17

По ряду причин очень нужен psutil (или что-то на него похожее, но другого ничего не знаю)
Поставил psutil на
3-й (и 2-й тоже) python.
ставил через pip install и через python -m pip install ….
пробовал “на основных” питонах, и на “клонах”, сделанных через virtualenv (не pyvenv)
и даже на WinPython
========
в-общем сразу после импорта пишет следующее:
(это “основной” третий питон, система WinXP SP3 и все такое)

Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (In
tel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
>>> import psutil
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “G:\Python344\lib\site-packages\psutil\__init__.py”, line 124, in <module
>
from . import _pswindows as _psplatform
File “G:\Python344\lib\site-packages\psutil\_pswindows.py”, line 15, in <modul
e>
from . import _psutil_windows as cext
ImportError: DLL load failed: The specified procedure could not be found.
=========
_psutil_windows.pyd

там лежит, список ниже
=============
в psutil (site-packages):

\Lib\site-packages\psutil\


18.06.2016 19:55 11 994 _common.py
18.06.2016 19:55 8 170 _compat.py
18.06.2016 19:55 25 643 _psbsd.py
18.06.2016 19:55 55 967 _pslinux.py
18.06.2016 19:55 12 119 _psosx.py
18.06.2016 19:55 6 194 _psposix.py
18.06.2016 19:55 22 158 _pssunos.py
22.08.2016 01:55 45 056 _psutil_windows.pyd
22.08.2016 01:58 27 979 _pswindows.py
22.08.2016 01:55 73 576 __init__.py
24.08.2016 01:47 <DIR> __pycache__

_psutil_windows.pyd - вижу, что это exe/dll, есть MZ в самом начале.

===================
что мне сделать, чтобы заработало?
куда бежать, какие ритуальные пляски совершать?
на Linux перейти не могу, Win (ну еще есть 7-ки) условие работодателя.
============
подозреваю установленный pywinauto (который тоже нужен), до него (давно) psutil работал.
пробовал несколько вариаций с клонами - все равно не понятно, влияет ли напрямую он





Python для экспертов » Поменять фокус на задний план. » Авг. 23, 2016 20:48:06

Как можно сменить фокус на программу которая на заднем плане?

Python для экспертов » Подключение через прокси по imap и pop3 » Авг. 23, 2016 19:50:25

Переопределил методы для подключения к imap и pop3 через прокси:

 class SOCKS_IMAP4(imaplib.IMAP4):
    def __init__(self, host, port = imaplib.IMAP4_PORT,proxy_type = None, proxy = None):
            self.proxy = proxy
            self.proxy_type = proxy_type
            imaplib.IMAP4.__init__(self, host, port)
    def open(self,host,port=imaplib.IMAP4_PORT):
        self.host = host
        self.port = port
        self.sock = socksocket()        
        if self.proxy and self.proxy_type:
            proxy_ip,proxy_port = self.proxy.split(':')
            self.sock.setproxy(self.proxy_type,proxy_ip,int(proxy_port))
        self.sock.connect((host,port))
        self.file = self.sock.makefile('rb')
class SOCKS_IMAP4_SSL(imaplib.IMAP4_SSL):
    def __init__(self, host, port = imaplib.IMAP4_SSL_PORT,proxy_type = None, proxy = None,):
            self.proxy = proxy
            self.proxy_type = proxy_type
            imaplib.IMAP4_SSL.__init__(self, host, port)
    def open(self, host, port=imaplib.IMAP4_SSL_PORT):
        self.host = host
        self.port = port
        self.sock = socksocket()
        #actual privoxy default setting, but as said, you may want to parameterize it
        if self.proxy and self.proxy_type:
            proxy_ip,proxy_port = self.proxy.split(':')
            self.sock.setproxy(self.proxy_type,proxy_ip,int(proxy_port))
        self.sock.connect((host,port))
        self.sslobj = ssl.wrap_socket(self.sock, self.keyfile, self.certfile)
        self.file = self.sslobj.makefile('rb')

 class SOCKS_POP3(poplib.POP3):
    def __init__(self, host, port=poplib.POP3_PORT,timeout=socket._GLOBAL_DEFAULT_TIMEOUT,proxy_type = None, proxy = None):
        self.host = host
        self.port = port
        self.sock = socksocket()  
        if proxy and proxy_type:
            proxy_ip,proxy_port = proxy.split(':')
            self.sock.setproxy(proxy_type,proxy_ip,int(proxy_port))
        self.sock.connect((host, port))
        self.file = self.sock.makefile('rb')
        self._debugging = 0
        self.welcome = self._getresp()
class SOCKS_POP3_SSL(poplib.POP3_SSL):
        def __init__(self, host, port = poplib.POP3_SSL_PORT, keyfile = None, certfile = None,proxy_type = None, proxy = None):
            self.host = host
            self.port = port
            self.keyfile = keyfile
            self.certfile = certfile
            self.buffer = ""
            #msg = "getaddrinfo returns an empty list"
            self.sock = socksocket()  
            if proxy and proxy_type:
                proxy_ip,proxy_port = proxy.split(':')
                self.sock.setproxy(proxy_type,proxy_ip,int(proxy_port))
            self.sock.connect((host, port))
            #for res in socket.getaddrinfo(self.host, self.port, 0, socket.SOCK_STREAM):
            #    af, socktype, proto, canonname, sa = res
            #    try:
            #        self.sock = socket.socket(af, socktype, proto)
            #        self.sock.connect(sa)
            #    except socket.error, msg:
            #        if self.sock:
            #            self.sock.close()
            #        self.sock = None
            #        continue
            #    break
            #if not self.sock:
            #    raise socket.error, msg
            self.file = self.sock.makefile('rb')
            self.sslobj = ssl.wrap_socket(self.sock, self.keyfile, self.certfile)
            self._debugging = 0
            self.welcome = self._getresp()

но не всегда получается подключится, хотя через thunderbird подключается. В чем может быть проблема?