Форум сайта python.su
valid_proxy = None while not valid_proxy: random_item = random.randrange(0,len(config.PROXY)) random_proxy = config.PROXY[random_item] if not is_bad_proxy(proxy_type,proxy): valid_proxy = random_proxy break else: del(config.PROXY[random_proxy])
from selenium.webdriver.common.keys import Keys import webbrowser import re import os import json import requests import random import selenium from robobrowser import RoboBrowser import time class vk_captcha: """Класс для работы с каптчей. Вырезает img со страницы, отправляет в antigate, получает результат, возвращает введенную каптчу в виде строки""" def decode(page, root_path): """Объединение функций _send_captcha и _check_captcha""" print("Каптча...") key = "4517fb23f100hvyg87gy87gvhj" a_captchaID = vk_captcha._send_captcha(page, root_path, key) #antigate captcha ID [OK, 406704123] if a_captchaID[0] != "OK": print("Неудалось отправить запрос на antigate\n%s" % a_captchaID) return 0 while True: time.sleep(7) a_captchaRESULT = vk_captcha._check_captcha(a_captchaID[1], key) #antigate captcah RESULT [OK, Fgv4Kl] if a_captchaRESULT[0] != "OK": continue print("Готово. %s" % a_captchaRESULT[1]) return a_captchaRESULT[1] def _send_captcha(page, root_path, key): """Получает страницу, возвращает массив формата [OK, 406704123]""" img_tag = page.find(id="captcha") if not img_tag: img_tag = page.find("img", {"class":"captcha_img"}) if not img_tag: print("Тега с id=captcha не найдено") return 0 img = vk_captcha.request_with_retry(root_path + img_tag["src"]).content data = { "key": key, "method": "post", } response = vk_captcha.request_with_retry('http://antigate.com/in.php', data=data, files={"file": img}) return (response.text.split("|")) def _check_captcha(captcha_id, key): response = vk_captcha.request_with_retry("http://antigate.com/res.php?key=" + key + "&action=get&id=" + captcha_id) return (response.text.split('|')) def request_with_retry(url, data="", files=""): TIMEOUT = 0.5 while True: try: if data or files: response = requests.post(url, data=data, files=files, timeout=TIMEOUT) else: response = requests.get(url, timeout=TIMEOUT) except requests.exceptions.ReadTimeout: continue break return response
def create_group(wd): with open("file.txt", "r") as f: line = f.readline() for i, line in enumerate(f): if i == 10: break else: try: wd.get('http://vk.com/' + line) wd.find_element_by_xpath("//a[@id='profile_photo_link']/img").click() # time.sleep(4) # wd.find_element_by_id("pv_like_count").click() except: f.close()
socks.setdefaultprox
updateWorklogAndAutoAdjustRemainingEstimate(auth, {'id': '588801', 'timeSpent': '2h', 'timeSpentInSeconds': 7200})
Traceback (most recent call last): connect.updateWorklogAndAutoAdjustRemainingEstimate(auth, {'id': '588801', 'timeSpent': '2h', 'timeSpentInSeconds': 7200}) File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 547, in __call__ return self.__r_call(*args, **kw) File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 569, in __r_call self.__hd, self.__ma) File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 482, in __call raise p SOAPpy.Types.faultType: <Fault soapenv:Server.userException: com.atlassian.jira.rpc.exception.RemoteValidationException: Errors: {startDate=You must specify a date on which the work occurred.} Error Messages: []: <SOAPpy.Types.structType detail at 140554129182232>: {'hostname': 'xxxx', 'com.atlassian.jira.rpc.exception.RemoteValidationException': ''}>
PROXY = [] #заполненный список строками вида ип:порт
#...
default_proxy = socks.socksocket
for proxy in PROXY:
proxy_ip,proxy_port = proxy.replace('\n','').replace('\t','').replace('\r','').split(':')
try:
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,proxy_ip,int(proxy_port),True)
socket.socket = socks.socksocket
req=urllib2.Request('http://google.com/')
urllib2.urlopen(req)
break
except Exception as E:
print E
continue
finally:
socks.setdefaultproxy(default_proxy)
socket.socket = socks.socksocket
>>> import ibm_db >>> conn = ibm_db.connect("sample","root","root") >>> ibm_db.exec_immediate(conn, "select * from act") Traceback (most recent call last): File "<stdin>", line 1, in <module> Exception >>> print(ibm_db.stmt_errormsg()) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 38: ordinal not in range(128)
>>> import sys >>> sys.getdefaultencoding() 'utf-8' >>> quit()
def create_copy_node_new(self, node, parent): old_foreignkey_field = node.foreignkey_field node.pk = None node.id = None node.parent = parent node.save() if old_foreignkey_field: node.foreignkey_field = old_foreignkey_field node.save() return node
"2016-6120-283" которые, вероятно, становятся 2:27 "2016-M009-232" - 2:01 "2016-M009-220" - 0:53
from tornado.httpclient import AsyncHTTPClient def asynchronous_fetch(url, callback): http_client = AsyncHTTPClient() def handle_response(response): callback(response.body) http_client.fetch(url, callback=handle_response)
[code python]class Category(models.Model): name = models.CharField(‘Группа товара’, max_length=64) … class Product(models.Model): category = models.ForeignKey(Category, verbose_name=‘Группа’) name = models.CharField(‘Название товара’, max_length=128) price = models.DecimalField(‘Стоимость единицы, руб.’, max_digits=10, decimal_places=2)[/code]
class CustomManager(models.Manager): def get_queryset(self): return CustomQuerySet(self.model, using=self._db) class Item(models.Model): name = models.CharField('Item', max_length=100) active = models.BooleanField('Active', default=True) objects = CustomManager()
Item.objects.filter(pk=1).delete()
Item.objects.filter(pk=1).delete_real()
class CustomQuerySet(QuerySet): def delete(self): self.update(active=False) def delete_real(self): super(CustomQuerySet, self).delete_real()
class CustomQuerySet(QuerySet): def delete(self): self.update(active=False) def delete_real(self): super(CustomQuerySet, self).delete()
class CustomQuerySet(QuerySet): def delete(self): self.active = False def delete_real(self): super(CustomQuerySet, self).delete()
class CustomQuerySet(QuerySet): def delete(self): self.active = False def delete_real(self): super(CustomQuerySet, self).delete_real()
class Person(models.Model): name = models.CharField('Item', max_length=100) birthday = models.DateField(...)
Person.objects.create(name='Name 1')
birthday = models.DateField(null=True, blank=True)
birthday = models.DateField(null=False, blank=True)
birthday = models.DateField(null=True, blank=False)
birthday = models.DateField(null=False, blank=False)
from sys import argv def fib(n): if n <= 2: return 1 return fib(n - 1) + fib(n - 2) n = int(argv[1]) print(fib(n))
import sys def fibonacci(n): a = 0 b = 1 for i in range(0, n): temp = a a = b b = temp + b return a print(fibonacci(int(sys.argv[1])))
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s", 'datefmt' : "%d/%b/%Y %H:%M:%S" }, 'simple': { 'format': '%(levelname)s %(message)s' }, }, 'handlers': { 'file': { 'level': 'INFO', 'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': 'log/myproject.log', 'when': 'M', # this specifies the interval 'interval': 1, # defaults to 1, only necessary for other values #'backupCount': 10, # how many backup file to keep, 10 days 'formatter': 'verbose', }, }, 'loggers': { 'django': { 'handlers': ['file'], 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), }, '': { 'handlers': ['file'], 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), } }, }