Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3492 posts.

Флейм » PyCon Russia 2014: нужны докладчики! » Апрель 9, 2014 11:04:14

Питонисты, мы ищем докладчиков на PyCon Russia 2014. Если вы один из них, до 15 апреля заполните на сайте заявку на доклад.

Конференция пройдет в Екатеринбурге 2-3 июня!

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

Присоединяйтесь!

Флейм » Требуется программист (веб-приложение) » Апрель 7, 2014 19:21:31

Есть веб-приложение http://easysmeta.ru.
Это счастье надо в корне переделывать. От БД до скриптов.
Вкратце изложил мысли в файле ниже.
Интересует, как обычно, срок\деньги.

Центр помощи » Доступ к видео » Апрель 6, 2014 14:26:43

Не знаете как можно получить доступ к видео с этого http://pythononneva.blogspot.ru/2012/12/7-nosql-mongodb.html сайта?

Может быть эти уроки выложены ещё где нибудь.

Python для новичков » Не отображаются платформы  » Апрель 5, 2014 13:40:22

Наткнулся на просторах интеренета на платформер типа “Марио”
Получилось загрузить только экран с залитым фотон, платформы,оформленные в двумерный массив не отображаются почему-то, хотя код скопировал один в один.Собственно в этом и вопрос, почему не отображаются платформы?
import pygame
from pygame import *


WIN_WIDTH = 800
WIN_HEIGHT = 640
DISPLAY = (WIN_WIDTH, WIN_HEIGHT)
BACKGROUND_COLOR = “#FFFF00”
PLATFORM_WIDTH = 32
PLATFORM_HEIGHT = 32
PLATFORM_COLOR = “#0000FF”




def main():

pygame.init()
screen = pygame.display.set_mode(DISPLAY)
pygame.display.set_caption(“Test”)
bg = Surface((WIN_WIDTH,WIN_HEIGHT))

level = [
“————————-”,
“- -”,
“- -”,
“- -”,
“- – -”,
“- -”,
“– -”,
“- -”,
“- — -”,
“- -”,
“- -”,
“- — -”,
“- -”,
“- ———– -”,
“- -”,
“- - -”,
“- – -”,
“- -”,
“- -”,
“————————-”]

bg.fill(Color(BACKGROUND_COLOR))










while 1:
x=y=0
for row in level:
for col in row:
if col == “-”:
pf = Surface((PLATFORM_WIDTH,PLATFORM_HEIGHT))
pf.fill(Color(PLATFORM_COLOR))
screen.blit(pf, (x,y))

x = PLATFORM_WIDTH
y = PLATFORM_HEIGHT
x = 0




for e in pygame.event.get():
if e.type == QUIT:
raise SystemExit, “QUIT”
screen.blit(bg, (0,0))
pygame.display.update()




if __name__ == “__main__”:
main()

Инструментальные средства разработки » Плеер cannen django » Март 31, 2014 13:33:17

Здравствуйте я новиче в Python нужно зделать плеер который будет игрть на странице вот нашел исходники Your text to link here… но почемуто воспроизведение не идет я даже кнопки не наблюдаю, может кто сталкивался с этим объясните если можно

Python для новичков » cookie при авторизации » Март 30, 2014 14:36:07

Написал скрипт для авторизации на mail.ru и получение кук.
import urllib, urllib2, cookielib
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
headers = { 
'Origin': 'https://auth.mail.ru/cgi-bin/auth',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0',
'Content-Type': 'application/x-www-form-urlencoded',
'Connection': 'keep-alive',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Referer': 'http://mail.ru/'
}
values={
'login':'*******',
'domain':'mail.ru',
'password':'*******'
'new_auth_form=1'
'saveauth=1'}
data = urllib.urlencode(values) 
req = urllib2.Request('https://auth.mail.ru/cgi-bin/auth', data, headers)
response = opener.open(req)
print cj

но при выполнении я получаю только
<cookielib.CookieJar [ <Cookie mrcu=E51953380019369DF3BE3E23786D for .mail.ru/> ]>

хотя при авторизации через браузер мне выдается
Cookie: mrcu=E4585337274522DE30C41C29895E; p=swAAAE13WAAA; VID=3alUcL0bw1XC:; s=s_vp1112/855); searchuid=815940501394344565; Mpop=1393412832:0444574441040106190502190805001b0a031d06014568515c455f060d0a09091f07027b16595d5c525f505641426b4050434545195f53515517434c:********@mail.ru:; ssdc= + еще пара строк
из всего этого меня интересует только
Mpop=1393412832:0444574441040106190502190805001b0a031d06014568515c455f060d0a09091f07027b16595d5c525f505641426b4050434545195f53515517434c:********@mail.ru

Подскажите, что нужно дописать в скрипте чтобы получить cookie целиком или только Mpop.

Python для новичков » Шифрование RSA » Март 29, 2014 16:38:06

Всем привет.
Помогите решить проблему шифрования RSA.
Вот так шифруется пакет:
Пакет дополнительно шифруется по алгоритму RSA. Ключ состоит из следующих частей: B = 1024, E = 65537, N = передается в пакете Init. Вместе эти 3 части составляют целый RSA ключ.
Ключ N получил, все норм (надеюсь), там код на С, но я переписал его на Python, было бы не плохо если бы кто проверил
void unscrambleMod( char *n )
{
     typedef unsigned char byte;
     int i;
     // step 4 xor last 0x40 bytes with first 0x40 bytes
     for( i=0; i<0x40; i++ ) {
           n[0x40 + i] = (byte)(n[0x40 + i] ^ n[i]);
     };
     // step 3 xor bytes 0x0d-0x10 with bytes 0x34-0x38
     for( i=0; i<4; i++ ) {
           n[0x0d + i] = (byte)(n[0x0d + i] ^ n[0x34 + i]);
     };
     // step 2 xor first 0x40 bytes with last 0x40 bytes
     for( i=0; i<0x40; i++ ) {
           n[i] = (byte)(n[i] ^ n[0x40 + i]);
     };
     for( i=0; i<4; i++ ) {
           byte temp = n[0x00 + i];
           n[0x00 + i] = n[0x4d + i];
           n[0x4d + i] = temp;
     };
};
Тоже самое на питоне :
def decrypt_rsa_key(enc_key_n):
   n = bytearray(enc_key_n)
   for i in range(0x40):
       n[0x40 + i] ^= n[i]
   for i in range(4):
       n[0x0d + i] ^= n[0x34 + i]
   for i in range(0x40):
       n[i] ^= n[0x40 + i]
   for i in range(4):
       n[i], n[0x4d + i] = n[0x4d + i], n[i]
   return bytes2number(n)
Далее мне надо этим ключем зашифровать пакет, структура пакета такая:
Формат для ревизии 0xc621:
00
00 00 00 00 … // Начало массива из 128 байт содержащих логин и пароль, и шифрующихся по алгоритму RSA
… (байты 94-107) // строка содержащая логин. Имеет длинну 14 байт и храниться в формате ASCII а не UNICODE !!!
… (байты 108-124) // строка содержащая пароль. Имеет длинну 16 байт и храниться в формате ASCII а не UNICODE !!!
… 00 00 00 00 // не используется. Конец массива
Прочитав о РСА на вики понял что шифровать надо так:
auth_data = struct.pack('<94x14s16s4x', ACCOUNT, PASSWORD)
auth_data = number2bytes(pow(bytes2number(auth_data),65537, rsa_key_n))
Но что то все равно приходит пакет с “ошибкой авторизации”, подскажите правильно ли я шифрую RSA
если что скину любой кусок кода

Django » LBforum проблема с подключением тэгов » Март 29, 2014 14:24:19

Здравствуйте, помоги плиз разобраться. Установил lbforum, но вот при запуске вы дает ошибку в шаблоне: ‘lbforum_filters’ is not a valid tag library: ImportError raised loading lbforum.templatetags.lbforum_filters: cannot import name create.
Использую django 1.5.
Вот кусок шаблона:

Python для новичков » Проблема с кодировкой в CGI-скрипте » Март 29, 2014 09:36:20

Добрый день, Участники Форума!

При написании CGI-скрипта столкнулся с проблемой отображения русских символов. Алгоритм работы скрипта следующий:

1. Есть шаблон формы на HTML:
<HTML><TITLE>Test</TITLE>
<head><meta http-equiv="Content-Type" content="text/html;charset=cp1251" /></head>
<BODY>
<H1 align=center>Главная страница:</H1>
<FORM method=POST action="/cgi-bin/mainPage.py">
    <P><TABLE border cellpadding=3 align=center>
         <TR>
            <TH align=right>Ф.И.О. абонента:
            <TD><input type=text name=abon_fio required value=%(abon_fio)s>
         <TR>
            <TH align=right>Номер телефона:
            <TD><input type=tel name=abon_mphone required value=%(abon_mphone)s>
         <TR>
            <TD colspan=1 align=center>
            <input type=submit name=action style="width: 100" value="Сохранить">
    </TABLE>
</FORM>
</BODY>
</HTML>

2. Далее, для чтения параметров HTML-формы, в скрипте выполняются следующие команды:
myfrm = cgi.FieldStorage()
fio=myfrm["abon_fio"].value
tel = myfrm["abon_mphone"].value
action = myfrm["action"].value

3. При попытке вывести значение параметра:
print(action)

вылетает исключение:
[Sat Mar 29 14:32:22 2014] [error] [client 127.0.0.1] UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-3: character maps to <undefined>\r, referer: http://127.0.0.1:8080/cgi-bin/mainPage.py

Подскажите, пожалуйста, как правильно читать и передавать параметры с русскими буквами в форму и обратно?

GUI » зеркальное отражение графического объеккта в PyQt » Март 28, 2014 06:47:06

подскажите пожалуйста с помомощью какого метода можно зеркально отобразить объект
QGraphicsltem

Python для новичков » Как избежать конвентирования тегов? » Март 26, 2014 16:40:43

Есть елемент
rule.StartEvent.MessageContent[0].value
, значение которого
boolean(//SimpleItem[@Name="window" and @Value="1"]) and boolean(//SimpleItem[@Name="motion" and @Value="1"])

Просблема в том, когда передаешь весь объект rule в SUDS, дабы он отправиль по назначению возникает ошибка из-за того, что SUDS конвентирует кавычки.

<ns0:MessageContent Dialect="http://www.onvif.org/ver10/tev/messageContentFilter/ItemFilter">boolean(//SimpleItem[@Name=&quot;window&quot; and @Value=&quot;1&quot;]) and boolean(//SimpleItem[@Name=&quot;motion&quot; and @Value=&quot;1&quot;])</ns0:MessageContent>

Как этого избежать?

Django » Django + Django RWST framework + oAuth » Март 25, 2014 17:04:26

Всем привет!

Изучаю Django + Django REST framework + oAuth2.0 и как это все вместе использовать.

Установил Django, на него Django REST framework. На Django REST framework поставил Django OAuth Toolkit по инструкции (тут). Использую джанговский сервер по умолчанию.

Для регистрации приложение, перешел (опять же как написано в инструкции) на страницу регистрации и сделал все как в инструкции. Зарегистрировать получилось, получил Client id и Client secret. К стати на данный момент в БД всего один пользователь, admin (мб это важно).

Затем стал получать token, в общем вот что вываливается (нагулить ответ не получилось):

19:04 ~$ curl -X POST -d "grant_type=password&username=admin&password=123" http://tygkDGuF.re@HmpJB!G=oi5pHtbgxW96I9w8iTd0:zFpyRXwgUKglYAs6b=v8UwlA3qqxZr!=hn3PgzQQ5CgO=OVR-O26reO;T8xcn;xcurcbC7kPr8r-York9TIEKKEM6EFRUOhR:oU!=S3A;QQ1pmAK8dNso48KfYNgYO_F@http://127.0.0.1:8080/api/words/
bash: !G=oi5pHtbgxW96I9w8iTd0: event not found

Как решить проблему?

И еще у меня ощущение что я чего то недопонял, правда не знаю что(
Все файла которые нужно выложу. Прошу помощи два дня уже над этим бьюсь.

Python для новичков » celery настройка логгирования » Март 25, 2014 04:04:14

воркеры запускаются в пуле, и в логах льётся одно и то же по нескольку раз… пробовала с настройкой CELERYD_HIJACK_ROOT_LOGGER эффекта не заметила..
а вообще оптимально было бы чтобы был отдельный лог - на каждый таск (chord) создавался отдельный файл и логи всех подтасков сливались туда, как бы такое организовать…

Python для экспертов » Алгоритм поиска совпадающих узлов и элементов » Март 23, 2014 18:57:17

Здравствуйте! Пытаюсь решить такую задачу. Необходимо выбрать максимальные усилия в каждом из элементов ферм и нарисовать схему фермы с простановкой усилий. Исходные данные получены из расчётной программы в виде файлов csv.
nodes - координаты узлов
elems - элементы
rsu - усилия в элементах
Программа уже правильно выбирает усилия и рисует для ряда параллельных одинаковых ферм, которые стоят строго друг за другом. Алгоритм понимает, что элементы одинаковы по их координатам. Если координаты совпадают, значит и элементы одинаковы.
Теперь думаю над алгоритмом поиска одинаковых элементов, если фермы расположены в произвольном порядке. Подскажите в каком направлении искать. Я застопорился). Прикладываю архив с кодом. Код не причёсанный, так что сильно не ругайте.

Python для новичков » Выбор нескольких checkbox -ов » Март 21, 2014 17:05:48

1. Открыть браузер и развернуть на весь экран.
2. Зайти на yandex.ru.
3. В разделе маркет выбрать Сотовые телефоны.
4. Зайти в расширенный поиск.
5. Выбрать не менее 5 любых производителей, среди популярных

Подскажите как можно выполнить эту задачу на Selenium Webdriver ?

Python для экспертов » Watermark хорошего качества » Март 21, 2014 02:51:59

Всем доброго времени суток.
Вопрос такой: с помощью PIL наношу watermark на картинку, в итоге изображение получается в ужасном качестве. То есть заметно как нанесение знака, портит исходную картинку. Не могли бы вы подсказать существуют, ли библиотеки которые с данной задачей справятся лучше, или же просьба объяснить, возможно я что то не так делаю, пока наношу вот так:

            my_image = Image.open(unicode(jpg_name))
            wm = Image.open(watermark_name)
            i_size = my_image.size
            w_size= wm.size
            sizes = {"right_down":(i_size[0]-w_size[0]-5,i_size[1]-w_size[1]-5),
                     "left_down":(5,i_size[1]-w_size[1]-5),
                     "right_up":(i_size[0]-w_size[0]-5,5),
                     "left_up":(5,5)
            }
            my_image.paste(wm, sizes[position],  wm)
            my_image.save(new_name,mode='ANTIALIAS',quality=100)

Python для новичков » Как в Windows сослаться на хост + файл » Март 20, 2014 15:30:35

В документации указано:

con = fdb.connect(dsn='bison:/temp/test.db', user='sysdba', password='pass')

Как в Windows писать?
con = fdb.connect(dsn='bison:D:/temp/test.db', user='sysdba', password='pass')
так?

bison тут имя хоста

Инструментальные средства разработки » PyCharm + WebStorm = один workspace.xml? » Март 20, 2014 08:09:23

На предыдущей версии PyCharm редактировал один проект PyCharm'ом и WebStorm'ом. Django проекты, логику.py - PyCharm, а верстку (templates, static) редактировал WebStorm. Затык в том что после обновления PyCharm каждый раз после переключения между PyCharm и WebStorm у меня вылазит менюшка “Project Files Changed” они оба используют один и тот же .idea/workspace.xml. Хотя до этого открывал одну папку проекта этими редакторами и замечательно они как-то разграничивали свои настройки, подскажите как это пофиксить?

GUI » Сигнал в дочерний поток. » Март 20, 2014 07:17:00

Знаю как послать сигнал из потока, а вот как послать сигнал в поток не доходит.
Прошу помощи, буду благодарен за пример в пару строк. Спасибо.

Базы данных » FBD - проблемы при вставке » Март 19, 2014 11:38:44

Добрый !

Инструменты: win7 64, python 3.3.4 x86, Excel 2010, Firebird 2.5.2 x64, fdb 1.4
Задача: открыть файл Excel и записать из него данные в БД FB. Особенности - файл из офиса 2003 (7 листов по 65000 элементов, итого примерно 450 000 элементов)

код
# coding: utf-8
from win32com.client import Dispatch
import pythoncom
import datetime
import sys
import fdb
#==================================================================      
def main(argv=None):
    start_time=datetime.datetime.now()
    print(start_time)
    fb_conn = fdb.connect(dsn='firebird:d:\\pgn.FDB',user='user',password='password')
    trans=fb_conn.trans()
    trans.begin
    fb_cur=trans.cursor()
    sql_prep=fb_cur.prep(r"INSERT INTO gpk_input (lat_name,name,to_date) VALUES (?,?,?)")
    
    xlApp = Dispatch("Excel.Application")
    xlApp.Visible=False
    xlWb = xlApp.Workbooks.Open(r"D:\Documents\children.xls")
    try:
        for Sheet in xlWb.WorkSheets:
            print("Sheet=",Sheet.Name," ",datetime.datetime.now())
            for y in range(2,10):
                if str(Sheet.Cells(y,1)) != 'None':
                    # Sheet.Cells(y,1) - ФИО в латинской транскрипции
                    # Sheet.Cells(y,2) - ФИО на русском
                    # Sheet.Cells(y,3) - дата чего-то . Пока не интересно
                    dt1=str(Sheet.Cells(y,3))
                    dt1=dt1[0:19]
                    dt1=str(dt1[8:10])+'.'+str(dt1[5:7])+'.'+str(dt1[0:4])+' '+str(dt1[11:])
                    print(type(Sheet.Cells(y,2)))
                    rus_name=str(Sheet.Cells(y,2))
                    print(type(rus_name))
                    print('-------\n','orig=',rus_name)
                    fb_cur.execute(sql_prep,[Sheet.Cells(y,1),rus_name.encode('utf-8'),dt1])
        trans.commit()
        fb_cur.close()        
        trans.close()
    except Exception as e3:
        print("main try:","Line "+format(sys.exc_info()[-1].tb_lineno),e3.__str__())
        print("Sheet='",Sheet.Name,"' y=",y)        
        trans.rollback()
        fb_cur.close()
        trans.close()
        
    xlApp.Quit()        
    fin_time=datetime.datetime.now()
    print(fin_time," | ",fin_time-start_time)

при выполнении из cmd.exe дает такую ошибку
('Error while executing SQL statement:\n- SQLCODE: -413\n- conversion error from string “КАСАТКИНА АЛЕНА”\n- conversion error from string “КАСАТКИНА АЛЕНА”\n- conversion error from string “КАСАТКИНА АЛЕНА”', -413, 335544334)

и при изменении запроса на явное приведение к типу - тоже
r"INSERT INTO gpk_input (lat_name,name,to_date) VALUES (?,CAST(? AS VARCHAR(50)),?)"

Такая же ошибка при инсерте чисто латинской строки, т.е получается вопрос не в кодировке кирилицы (сперва про нее думал)