Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3496 posts.

Python для экспертов » Перехват событий » Янв. 12, 2013 01:30:31

Добрый день, подскажите, если кто знает:
При нажатии на кнопку Capslock на клаве нужно, что бы до виндоуса дошел не капс, а, например, альт.
Тоесть, нажимаем капс, хуки ловят сигнал и отправляют функцию для альта. При отжатии капса соответственно отжимается альт

Если использовать в связке “pyHook” и “ctypes.windll.user32.keybd_event(xxx, 0, 0, 0, 0)”, то альт вместе с капсом нажимаются отлично, но на отжатие не реагируют. При этом капс без альта реагирует и на нажатие и на отжатие. Стоит добавить к нему альт, и они начинают не обрабатываться отжатием
Вопрос: есть какие-то ограничения у pyHook или ctypes.windll… ? И есть ли другой способ?

Python для новичков » плиз подскажите что за ошибка MDL? » Янв. 10, 2013 14:18:55

from Tkinter import*
root = Tk()
def close(event = None):
    print "try_die"
def new_user(u, p, f, l, e):
    u_ = u.get()
    p_ = p.get()
    f_ = f.get()
    l_ = l.get()
    e_ = e.get()
    mdl = MDL()      # xmlrpc Connection
    print mdl.conn_xmlrpc(server)
    users = [{
        'username': u_, # username must be unique
        'password': p_,
        'firstname': f_,
        'lastname': l_,
        'email': e_,
        }]
    print mdl.create_users(server, users)
def new3(event = None):
    win4 = Toplevel()
    win4.title("Ввод данных")
    lbl1 = Label(win4, text = u"Введите логин")
    lbl1.grid(row=1,column=0,columnspan=2)
    lbl2 = Label(win4, text = u"Введите пароль")
    lbl2.grid(row=2,column=0,columnspan=2)
    lbl3 = Label(win4, text = u"Введите имя пользователя")
    lbl3.grid(row=3,column=0,columnspan=2)
    lbl4 = Label(win4, text = u"Введите фамилию пользователя")
    lbl4.grid(row=4,column=0,columnspan=2)
    lbl5 = Label(win4, text = u"Введите email")
    lbl5.grid(row=5,column=0,columnspan=2)
    
    u = Entry(win4, width="20")
    u.focus_force()
    p = Entry(win4, width="20")
    f = Entry(win4, width="20")
    l = Entry(win4, width="20")
    e = Entry(win4, width="20")
    u.grid(row=1,column=2,columnspan=2)
    p.grid(row=2,column=2,columnspan=2)
    f.grid(row=3,column=2,columnspan=2)
    l.grid(row=4,column=2,columnspan=2)
    e.grid(row=5,column=2,columnspan=2)
    
    but=Button(win4,text="Создать", width=18, height=2,)
    but.grid(row=7,column=2,ipadx=5,padx=10,pady=5)
    but.bind("<Button-1>", lambda x: new_user(u, p, f, l, e))
    but2=Button(win4,text="Закрыть", width=50, height=2, bg="white", fg="blue") # Кнопки
    but2.grid(row=8,column=2,ipadx=5,padx=10,pady=5)
    but2.bind("<Button-1>", lambda x: win4.destroy)
new3()
root.mainloop()

и выдается ошибка:
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
  File "C:\Python27\1grafich prilog.py", line 272, in <lambda>
    but.bind("<Button-1>", lambda x: new_user(u, p, f, l, e))
  File "C:\Python27\1grafich prilog.py", line 236, in new_user
    print mdl.create_users(server, users)
  File "C:\Python27\moodle.py", line 177, in create_users
    return protocol[server['protocol']](server, params, function, key_word)
  File "C:\Python27\moodle.py", line 94, in xmlrpc_protocol
    return select_method[function](params)
  File "C:\Python27\moodle.py", line 70, in moodle_user_create_users
    return proxy.moodle_user_create_users(params)
  File "C:\Python27\lib\xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "C:\Python27\lib\xmlrpclib.py", line 1578, in __request
    verbose=self.__verbose
  File "C:\Python27\lib\xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "C:\Python27\lib\xmlrpclib.py", line 1297, in single_request
    return self.parse_response(response)
  File "C:\Python27\lib\xmlrpclib.py", line 1473, in parse_response
    return u.close()
  File "C:\Python27\lib\xmlrpclib.py", line 793, in close
    raise Fault(**self._stack[0])
Fault: <Fault 404: 'Unknown error'>

Network » Spynner и ошибки » Янв. 10, 2013 06:48:03

Долго грузит сайт, на нем много картинок.
spynner.browser.SpynnerTimeout: Timeout reached: 10 seconds
и перенесите топик в ГУИ .

Python для новичков » Как использовать Python MIDI? » Янв. 8, 2013 13:54:55

Здравствуйте. Скажите пожалуйста, для чего нужен Python MIDI. Как я понимаю это модуль, который способен расшифровать MIDI-файл и предоставить его текстовую информацию. Так ли это? Как его использовать? Я его скачал, а куда установить не могу понять.

Python для новичков » помогите, пожалуйста, с портированием под python3 » Янв. 7, 2013 03:39:53

Подскажите, пожалуйста, как правильно переписать следующую строку:

req =
req.append ( pack ( ‘>L’, len(f)) + f)

Это работает в python2, но не работает в python3, так как идет конкатенация байт и строки…
пробовал байт декодить в utf-8 (pack(…).decode('utf-8') + f) что разумеется решает эту проблему… но в дальнейшем эти данные уходят по сокету не в том формате… я и думаю, что возможно преобразовывать байты в utf-8 не правильно…

Итоговый результат, на сколько я понимаю, должен являться строкой ( то есть то, что добавляется в список), так как по коду далее это список джойнится, что не работает если в списке будут байты…


Буду признателен за помощь!

Python для новичков » AuiNotebook и блокировка табов при клике » Янв. 7, 2013 02:41:29

Здравствуйте форумчане!

Бьюсь уже который час над проблемой. Пишу программу на Питоне 2.7.
Конкретно проблема состоит в том, что не могу заставить работать EnableTab.

Есть древовидное меню. По клику на 4 уровень проверяются параметры и если условие срабатывает, то некоторые табы должны заблокироваться. Но на деле не блокируются.
Для конкретики
class PanelForTest(wx.Panel):
    def __init__(self, parent, dis):
        """"""
        wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY)
        style = aui.AUI_NB_DEFAULT_STYLE ^ aui.AUI_NB_CLOSE_ON_ACTIVE_TAB
        # create the AuiNotebook instance
        self.nb = aui.AuiNotebook(self, agwStyle=style)
        # add some pages to the notebook
        pages = [(TabPanel(self.nb), "Tab 1"),
                 (TabPanel(self.nb), "Tab 2"),
                 (TabPanel(self.nb), "Tab 3")]
        for page, label in pages:
            self.nb.AddPage(page, label)
        #EnableTab(self, page_idx, enable=True)
        if dis == "disable":
            print("sxsaxasx")
            self.nb.EnableTab(1, False)
        self.nb.SetPageTextColour(2, wx.RED)
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.nb, 1, wx.EXPAND)
        self.SetSizer(sizer)
При запуске программы табы есть, всё хорошо.
При достижении 4 уровня дерева я ещё раз вызываю класс PanelForTest.
Надпись выводит, но не блокирует таб.

Если же убрать из if'а, то блокирует, уже при запуске проги и до проверки условий.

Помогите разобраться, пожалуйста. Спасибо !

Python для новичков » Комплексные числа в полярных координатах. » Янв. 5, 2013 19:07:45

Заданы 2 комплексных чиска в экспоненциальной форме, нужно найти их сумму, разницу, поделить и перемножить между собой.

from matplotlib.pyplot import figure, show
from math import pi
from cmath import *
fig = figure()
ax = fig.add_subplot(111, polar=True)
theta = [30,60] 
theta = [i*pi/180 for i in theta]
r = [1.,2.] 
ax.bar(theta,r, width=0.01)
show()
polar(1*exp(1j*3.14159/6) + 2*exp(1j*3.14159/3))
polar(1*exp(1j*3.14159/6) - 2*exp(1j*3.14159/3))

Такой командой удалось вычислить сумму и разницу этих двух комплексных чисел и перевести результат в полярные координаты. Подскажите как отобразить эти числа в полярной системе координат?

Флейм » Программист язык Python на постоянную работу! Оплата 60 000р » Янв. 4, 2013 18:21:23

Программист язык Python на постоянную работу! Оплата 60 000р
Нужен специалист на постоянную работу. Возможно удалённо. Оплата от 60 000 руб. + Премии и карьерный рост.

Требования:
Опыт программирования на языке Python от 2 лет;
Опыт программирования на языке Javascript‚ jQuery:
Опыт работы с фреймворком Django; XHTML/ HTML5;
Знание языка SQL‚ желательно знать тонкости PostgreSQL;
опыт работы с Cent OC;
опыт работы с системами контроля ревизий;
владение английским языком на уровне чтения тех. документаций;
Английский язык технический.

О нас:
Фирма телефонных коммуникаций, занимающаяся звонками за границу.

Для Связи:
Roman Dubrovskij
scandicom@scandicom.fi

Python для новичков » atexit и exception » Янв. 3, 2013 14:40:51

Добрый день, немогу разобраться со следующей проблемой: есть скрипт, который должен при его завершении делать соответствующую запись в лог. Для этого используется atexit(). Если скрипт остановить из терминала комбинацией Ctrl+C то скрипт делает запись в лог, а если скрипт останавливается системой скажем при выключении компьютера то ничего не пишется. Важное дополнение, что скрипт не только пишет логи, а еще переодично отправлает их на сервер или если нет связи повторяет попытку позже. Все нормално работало, завершение скрипта регистрировалось во всех вариантах но скрипт падал на отправке лога, если небыло связи. Проблема решилась, когда я написал: “try: отправка-лога() exception: pass”. Скрипт при отсутствии связи перестал падать, но при выклучении компьутера не регистрируется завершение скрипта. Как решить эту проблему? Операционная система Мак ОС

GUI » PySide: Авторизация на сайте через QDialog » Янв. 2, 2013 16:49:18

Всем доброго.
Никак не могу разобраться как запустить повторный запрос на авторизацию, авторизоваться получается только с первого раза, если ввожу повторно пару логин/пароль приложение просто завершается.
Ниже код который получился:
# -*- coding: utf-8 -*-
from PySide import QtGui
from PySide import QtCore
from PySide import QtWebKit
import sys
#Окно аутентификации
class Login(QtGui.QDialog):
    def __init__(self):
        QtGui.QDialog.__init__(self)
        self.setWindowTitle(u'Авторизация.')
        self.lbl_head = QtGui.QLabel(u"<font color=red><b>Авторизуйтесь перед выполнением работ!</b></font>", self)
        self.lbl_name = QtGui.QLabel(u'Логин:', self)
        self.lbl_pass = QtGui.QLabel(u'Пароль:', self)
        self.textName = QtGui.QLineEdit(self)
        self.textPass = QtGui.QLineEdit(self)
        self.textPass.setEchoMode(QtGui.QLineEdit.Password)
        self.buttonLogin = QtGui.QPushButton(u'Авторизация', self)
        self.buttonLogin.clicked.connect(self.handleLogin)
        #Расположение элементов в окне
        grid = QtGui.QGridLayout()
        grid.addWidget(self.lbl_head, 0, 0, 1, 0)
        grid.addWidget(self.lbl_name, 1, 0)
        grid.addWidget(self.textName, 1, 1)
        grid.addWidget(self.lbl_pass, 2, 0)
        grid.addWidget(self.textPass, 2, 1)
        grid.addWidget(self.buttonLogin, 3, 0, 1, 0)
        self.setLayout(grid)
    def handleLogin(self):
        Window.log_login = self.textName.text()
        Window.pass_login = self.textPass.text()
        self.accept()
class Window(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.area = QtGui.QWidget(self)
        self.setCentralWidget(self.area)
        self.resize(1200, 900)
        self.setWindowTitle(u'Учет предприятии.')
        # Помещаем GUI в центр экрана
        screen = QtGui.QDesktopWidget().screenGeometry()
        size =  self.geometry()
        self.move((screen.width()-size.width())/3, (screen.height()-size.height())/3)
        #Размещаем браузер
        self.web=QtWebKit.QWebView(self)
        self.web.setGeometry(0,20,1200,900)
        self.web.setWindowTitle('MyWebKitBrowser')
        
        #Расположение элементов в окне
        self.layout = QtGui.QVBoxLayout()
        self.layout.addWidget(self.web)
        self.area.setLayout(self.layout)
        self.area.show()
        self.log_def()
        
    def log_def(self):
        log1 = Login()
        f = log1.exec_()
        self.log = log1.textName.text()
        self.pas = log1.textPass.text()
        self.web.load(QtCore.QUrl('http://www.anysite.com'))
        self.web.loadFinished.connect(self.fillForm)
    #Авторизация на сайте!!!
    def fillForm(self): 
        doc = self.web.page().mainFrame().documentElement()
        user = doc.findFirst("input[id=modlgn-username]")
        passwd = doc.findFirst("input[id=modlgn-passwd]")
        user.setAttribute("value", self.log)
        passwd.setAttribute("value", self.pas)
        form = doc.findFirst("form[id=login-form]")
        form.evaluateJavaScript('this.submit()')
        self.web.loadFinished.connect(self.searchExit)
        self.web.loadFinished.disconnect(self.fillForm)
    #Проверка авторизации.
    def searchExit(self):
        doc1 = self.web.page().mainFrame().documentElement()
        self.auth = doc1.findFirst("input[name=task]")
        #Проверка авторизации
        if self.auth.attribute("value") == "user.logout":
            window.show()
        else:
            self.log_def()
        self.web.loadFinished.disconnect(self.searchExit)
        
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = Window()
    app.exec_()

Базы данных » MySQLdb for python » Дек. 29, 2012 19:42:34

вообщем имеется фряха с эмуляцией linux-a
python 1.7.3 собран на фряхе, а MySQLdb нужно собрать и запустить на программе с linux эмуляцией, т.к. при запуске выдает : _mysql.so elf file os abi invalid.
есть идеи как избавиться от ошибки или собрать модуль на эмуляторе?

Python для новичков » Работа с базой електронных сообщений Thunderbird » Дек. 25, 2012 17:35:25

Здравствуйте!
Есть необходимость автоматизировать некоторые действия в Mozilla Thunderbird. Взять атач полученного сообщения (несколько файлов), сделать некоторые манипуляции и отправить дальше. Можно ли с помощью питон это проделать?

GUI » QGraphicsScene и framerate в pyqt4 » Дек. 23, 2012 15:01:11

Доброго времени суток!

Только начал осваивать pyqt4.

Имеется следующая конструкция: QMainWindow, в нем центральный виджет QGraphicsView, завязанный на, соответственно, QGraphicsScene. На сцене картинка фоном (методом setBackgroundBrush) и рисуется эллипс (QGraphicsEllipseItem), его Brush тоже картинка. Эллипс движется и вращается.

1. Проблема в том, что когда мышь движется над центральным виджетом, то фпс падает, не критично, но заметно. Пробовал setTrackingMouse(False) передавать в главное окно, центральный виджет и QGraphicsView, но это не помогло. На что еще можно посмотреть?

2. Фон у сцены больше, чем размер центрального виджета, QGraphicsView по началу немного сдвигается, “следя” за эллипсом. Как запретить этот сдвиг?

Web » Как передать данные в web форму с javascript » Дек. 23, 2012 11:32:41

Есть сайт http://unro.minjust.ru/NKOs.aspx

Переход на следующую страницу осуществляется через JavaScript
__doPostBack('pdg','start_pos:2000')" class="pdg_page_num" title="На 5-ю страницу">

Другие настройки, например число данных на странице примерно также
<td class="pdg_count" onclick="__doPostBack('pdg','page_size:10')">10</td>

сама функция выглядит так
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}

Я делаю парсинг, хочу программно через lxml передать данные в форму, чтобы оторажалось по 500 элементов, и затем также менять номер страницы, свойство start_pos

from urllib2 import Request, urlopen
from lxml.html import parse, submit_form
from pprint import pprint
import lxml
url ="http://unro.minjust.ru/NKOs.aspx"
page = urlopen(url)
html = page.read();
doc = lxml.html.document_fromstring(html)
form = doc.forms[0]
pprint(form.form_values())
form.fields['__EVENTTARGET'] = 'pdg'
form.fields['__EVENTARGUMENT'] = 'start_pos:%s' %15000
form.fields['__EVENTARGUMENT'] = 'page_size:%s' %500
response = form.submit() #or submit_form
print response
form = doc.forms[0]
pprint(form.form_values())

он ругается на KeyError: “No input element with the name ‘__EVENTTARGET’”, при этом в JavsScript функции этому аргументу устанавливается значение

Как правильно передать эти данные в форму через lxml , тк через Grab почему то возникает тайм-аут где-то на 17 запросе

Я пробовал сделать это через POST requests, но проблема в том что там используется волшебное поле валидейшн, которое потом проверяет соответствие переданных параметров

import requests
s = requests.Session()
p = s.get('http://unro.minjust.ru/NKOs.aspx')
dic = {'selected_pdg_items' :'',
    'pdg_pdg_sort_col' :	'full_name',
    'pdg_pdg_sort_ord' :	'ASC',
    'pdg_pdg_record_count' :	'402820',
    'hd_frame_id' :	'Unknown',
    'ctl02_dummy_calendar_past_date':'False',
    '__VIEWSTATE' :	'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0L3QuNGPINCw0LTQstC+0LrQsNGC0L7QsgUEMTQxNGcQBVXQntCx0YrQtdC00LjQvdC10L3QuNGPICjRgdC+0Y7Qtywg0LDRgdGB0L7RhtC40LDRhtC40Y8pINGO0YDQuNC00LjRh9C10YHQutC40YUg0LvQuNGGBQQxNDA2ZxAFRNCe0YDQs9Cw0L0g0L7QsdGJ0LXRgdGC0LLQtdC90L3QvtC5INGB0LDQvNC+0LTQtdGP0YLQtdC70YzQvdC+0YHRgtC4BQQxMjA1ZxAFFtCe0YDQs9Cw0L3QuNC30LDRhtC40Y8FBDE2MDJnEAUW0J/QsNGA0YLQvdC10YDRgdGC0LLQvgUEMTYwNmcQBSXQn9C+0LvQuNGC0LjRh9C10YHQutCw0Y8g0L/QsNGA0YLQuNGPBQQxMjA2ZxAFKdCf0YDQvtGE0LXRgdGB0LjQvtC90LDQu9GM0L3Ri9C5INGB0L7RjtC3BQQxMjExZxAFLdCg0LXQu9C40LPQuNC+0LfQvdCw0Y8g0L7RgNCz0LDQvdC40LfQsNGG0LjRjwUEMTEwMWcQBYgB0KHQsNC00L7QstC+0LTRh9C10YHQutC40LUsINC+0LPQvtGA0L7QtNC90LjRh9C10YHQutC40LUsINC00LDRh9C90YvQtSDQuCDQuNC90YvQtSDQvdC10LrQvtC80LzQtdGA0YfQtdGB0LrQuNC1INGC0L7QstCw0YDQuNGJ0LXRgdGC0LLQsAUEMTQxMGcQBXrQodCw0LTQvtCy0L7QtNGH0LXRgdC60L7QtSwg0L7Qs9C+0YDQvtC00L3QuNGH0LXRgdC60L7QtSwg0LTQsNGH0L3QvtC1INC90LXQutC+0LzQvNC10YDRh9C10YHQutC+0LUg0L7QsdGK0LXQtNC40L3QtdC90LjQtQUEMTQxOWcQBXrQodCw0LTQvtCy0L7QtNGH0LXRgdC60L7QtSwg0L7Qs9C+0YDQvtC00L3QuNGH0LXRgdC60L7QtSwg0LTQsNGH0L3QvtC1INC90LXQutC+0LzQvNC10YDRh9C10YHQutC+0LUg0L/QsNGA0YLQvdC10YDRgdGC0LLQvgUEMTQyMGcQBTzQodC+0LLQtdGCINC80YPQvdC40YbQuNC/0LDQu9GM0L3Ri9GFINC+0LHRgNCw0LfQvtCy0LDQvdC40LkFBDE0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cHRpb24gQVMgb3BmLCBjLmRlc2NyaXB0aW9uIEFTIHJlZ2lvbiwgCQlDQVNFIAkJCVdIRU4gZC5zdGF0dXNfZmxhZyA9IDIgVEhFTiAn0JfQsNGA0LXQs9C40YHRgtGA0LgtPGJyPtGA0L7QstCw0L3QsCcgCQkJV0hFTiBkLnN0YXR1c19mbGFnID0gMyBUSEVOICfQmNGB0LrQu9GOLTxicj7Rh9C10L3QsCcgCQlFTkQgQVMgc3RhdHVzLCAJCShTRUxFQ1QgTUFYKGRlcGFydF9pZCkgRlJPTSByX3N5bWJvbG9neSBXSEVSRSBkZXBhcnRfaWQ9ZC5pZCkgQVMgbG9nbywgZC5zdGF0ZV9yZWdpc3RyYXRpb25fbnVtLCBkLnN0YXRlX3JlZ2lzdHJhdGlvbl9kYXRlIEZST00gcl9kZXBhcnRtZW50YWwgZCAJTEVGVCBPVVRFUiBKT0lOIGNsYXNzaWZpY2F0b3JfdmFsdWUgYyBPTiBkLnN1YmplY3QgPSBjLmlkIAlMRUZUIE9VVEVSIEpPSU4gdnJfY2xhc3NpZmljYXRvcl92YWx1ZSB2IE9OIGQub3JnX2Zvcm0gPSB2LmlkIFdIRVJFIGQuc3RhdHVzX2ZsYWcgSU4oMiwzKSBBTkQgTk9UKGQudHlwZT00IEFORCBkLnN1YmRpdmlzaW9uX3R5cGUgSU4oNDYwNSwgNDYwNikpIEFORCAxPTEeCFBhZ2VTaXplKCsEAzEwMGQWBAIFDw8WAh4HVmlzaWJsZWhkZAIGDw8WAh8HaGRkZMjRYYXrqwtP4T/n0F2iLazkqm6D11LvLbw7X8G2PKRp',
    '__EVENTTARGET':	'pdg',
    '__EVENTARGUMENT' :	'page_size:500',
    '__EVENTVALIDATION' :	'/wEWlgECl9TEbQK5mc2yBwLGloXEDALRzLSQDgLPwOWpBALFlIayAQLsutPSBALsut+NBQKBg/3HDgKalK93AoGD1a4LAuy6t7sCAoGDwXMC7LqT4w8C7Lrj0gQC7Lr/xwQCgYPlywQC7LqjngYC7LqrngYCgYPJrAwC7LrXjQUCgYPlrgsCmpS7kgsC7LqvngYC7LqHxAQCgYOZuQEC7Lq3ngYC7LrXtwwC7Lqb4w8C7LrzqAwC7LqPxAQCmpTXyQMCgYO11AkCgYONggYC7LrD1goC7LrnjQUC7LqL4w8C7Lq71goC7LrL1goCgYPJcwLsurOeBgKBg92uCwKBg+GoBgKalP+DBQKalOPkCgLsuse3DALsur+7AgLsutvSBAKBg7lzAuy6z7cMAoGDvdQJAuy666gMAuy6r7sCAuy646gMAqOb7rIMAq30xFwCrvTEXAKi7uj0BQL16+bMDwKM7vq6DwKe8oTWBQLQgP+5AQKkpMCMDgLJjoqWBAKM7tK6DwKD3b75AwKKr7+DDQLQgMu5AQKe8pjWBQKD3aL5AwKM7ua6DwKkpNCMDgL1677DDwLQgJu4AQKKr7uDDQKKr4ODDQL16+LMDwKM7ta6DwLQgPe5AQKkpMSMDgKvtvmWCwKvtt2WCwKvtqmWCwLQgPO5AQKx+fzNBQKD3fL5AwKx+cDNBQKkpOiMDgL167LDDwL165LDDwKf8rDWBQKM7qK6DwKe8ojWBQLJjvqXBAKkpMyMDgKM7t66DwKx+ZjMBQLQgJ+4AQLJjvKXBAKe8pzWBQKx+fTNBQKM7qq6DwKKr4+DDQKvttWWCwLJjv6XBALQgMO5AQKKr8eDDQLQgM+5AQKvtqWWCwKvtqGWCwKD3br5AwKx+ZzMBQKvtv2WCwLQgMe5AQLJjraWBAL16+7MDwKx+czNBQL16/rMDwKM7q66DwKkpNyMDgKkpNiMDgLJju6XBAKx+cTNBQKD3db5AwL165bDDwL16+rMDwKe8tTWBQLOjpaWBAKvttGWCwKKr7eDDQKkpJSDDgKD3ar5AwKKr7ODDQKvtq2WCwKD3fb5AwKM7tq6DwLJjuKXBAKlpPSMDgKD3ab5AwKKr4uDDQKe8ozWBQKx+fDNBQKD3a75AwKKr9uDDQKe8oDWBQKx+cjNBQKe8tDWBQLJjuaXBAKR1IGVBAKCxMyjBcLp49+MMnCe5jRQcwJ5AlHvhK4tLWrrp2WyfIS5U9zs',
    'mode':"",
    'affiliate':"",
    'err_msg':"",
    'filter_org_name':"",
    'filter_opf':"",
    'filter_status':"",
    'filter_region':"",
    'filter_reg_num':"",
    'filter_ogrn':""}
dic1 = {'selected_pdg_items' :'',
    'pdg_pdg_sort_col' :	'full_name',
    'pdg_pdg_sort_ord' :	'ASC',
    'pdg_pdg_record_count' :	'402820',
    'hd_frame_id' :	'Unknown',
    'ctl02_dummy_calendar_past_date':'False',
    '__EVENTTARGET':	'pdg',
    '__EVENTARGUMENT' :	'page_size:500',
    'mode':"",
    'affiliate':"",
    'err_msg':"",
    'filter_org_name':"",
    'filter_opf':"",
    'filter_status':"",
    'filter_region':"",
    'filter_reg_num':"",
    'filter_ogrn':""}
r = s.post('http://unro.minjust.ru/NKOs.aspx',dic )

Центр помощи » Three-Pass protocol (Трехпроходной протокол Шамира) » Дек. 22, 2012 23:25:39

Пожалуйста, ребята! Помогите реализовать алгоритм Трех-проходного протокола Шамира (22.3)

Python для экспертов » ctypes как записать/прочитать в структуру raw строку с \x00 » Дек. 20, 2012 12:08:20

Задача следующая, нужно в структуру записать raw строку, но столкнулся с проблемой, все что после 0 не пишется т.к. терминатор это, возможно ли как то обойти ?
Пример
import uuid
import ctypes
id1 = uuid.uuid1()
class Data(ctypes.Structure):
	_fields_ = [
		('id', 		ctypes.c_char*16),
	]
d=Data(id1.bytes)
Собственно в id запишется не вся строка а только до первого 0
Не хотелось бы делать через c_byte и потом строки конвертить в массивы (

Флейм » Случайно встретил Санту от Ракспейса, налетай на халявные 50 фунтов(акция до 20 декабря) » Дек. 19, 2012 15:51:56

Сегодня общался с поддержкой Ракспейса, и они мне дали промо код на 50 фунтов.
Оказывается у них сутки акция(написано на главной, я не увидел).
http://www.rackspace.co.uk/cloud-promo/
При регистрации нового аккаунта- 50 фунтов на счет, это 3-4 месяца минимальный облачный ВПС там держать.

P.S. Судя по всему промо-код 20 декабря в 00 по Лондону превратится в тыкву. Торопитесь кому надо.

Django » django-social-auth, привязка аккаунтов только для зарегистрированных пользователей » Дек. 19, 2012 11:09:36

Хочу добавить авторизацию пользователей через соц. сети, но только уже для зарегистрированных пользователей. Т.е. вначале пользователь регистрируется обычным образом (используется django-registration) и только потом он может привязать аккаунты соц. сетей и авторизоваться через них. До регистрации и привязки пользователь не может входить через соц. сети. Как такое можно сделать? Пробовал устанавливать параметр в settings.py
SOCIAL_AUTH_CREATE_USERS = False
не помогает, при авторизации создается новый пользователь.

Python для экспертов » TWEEPY: update_profile_background_image » Дек. 17, 2012 09:17:35

Здравствуйте уважаемые формучане.

У меня проблема с использованием одной из функций tweepy, а именно
http://code.google.com/p/tweepy/wiki/APIReference#update_profile_background_image
update_profile_background_image
Update authenticating user's background image. Valid formats: GIF, JPG, or PNG
Parameters: filename (Path to image file. Required), tile
Returns: User object

Как видите, можно передать 2 параметра, filename - имя файла, обязательный и tile - “замостить” бекграунд, необязательный.

https://dev.twitter.com/docs/api/1/post/account/update_profile_background_image
filename - The background image for the profile, base64-encoded. Must be a valid GIF, JPG, or PNG image of less than 800 kilobytes in size. Images with width larger than 2048 pixels will be forcibly scaled down. The image must be provided as raw multipart data, not a URL.
tile - Whether or not to tile the background image. If set to true, t or 1 the background image will be displayed tiled. The image will not be tiled otherwise.

Так вот, я использую такой код:

api.update_profile_background_image(filename=TEXTURES+random.choice(os.listdir(TEXTURES)),tile=1)

И у меня получается что то вроде этого



А должно получится такое




Вот так выглядит функция update_profile_background_image в tweepy:
    def update_profile_background_image(self, filename, *args, **kargs):
        headers, post_data = API._pack_image(filename, 800)
        bind_api(
            path = '/account/update_profile_background_image.json',
            method = 'POST',
            payload_type = 'user',
            allowed_param = ['tile'],
            require_auth = True
        )(self, post_data=post_data, headers=headers)



Что я делаю не так?

Python для новичков » Использование pyinstaller в linux и shared-библиотеки??? » Дек. 15, 2012 15:36:27

При сборке elf-файла из python скрипта в linux рядом с “билдом” кладётся множество библиотек.
Однако, в linux все эти библиотеки есть как shared.
Если удалить все библиотеки, то утилита просто не заведётся.
Возможно ли как-то сообщить pyinstaller'у или конечной утилите, что брать ей нужно не те библиотеки, которые лежат рядом с бинарником, а шаред?