Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для новичков » Как отметить (tick) checkboxes с одинаковым именем? » Июль 22, 2013 23:49:59

Друзья, подскажите, есть ли способ отметить (tick) все checkbox'ы с одинаковым именем?
Мне нужно на вот этом сайте отметить галочками Исполнение прекращено и Исполнение завершено, чтобы поиск выдавал требуемый результат. Я работаю в grab'e и g.set_input('a', True) не работает, пишет, что checkboxgroup must be set to a sequence. Мне кажется, что должно быть какое-нибудь более простое решение, чем узнавать эту sequence (я не понимаю, как это сделать), поскольку чекбоксы с одинаковым именем. Я буду очень благодарен, если вы мне поможете с этой задачей.

Web » opera + apache + python3 - перезагрузка страницы » Июль 19, 2013 17:32:20

Скрипт на питон3 и запускается апачем как cgi
Буфер постоянно flush()-ится на экран
таким образом я вижу все что делает скрипт

однако, он может отработать минут 10, а потом страница произвольно перезагружается и все начинается сначала

В опере есть опция «перерисовывать страницу», сейчас там «после полной загрузки»

Как ей запретить перезагружать страницу?

Python для новичков » Как отправить сообщение в мою группу(не групповой чат) по xmpp? sleekXMPP » Июль 19, 2013 15:42:17

python 3.3
Есть серверочек - Prosody
Клиент написан на sleekXMPP, он стандартный, по примеру.
В моём аккаунте на сервере есть группа - General(не путать с групповым чатом), туда может входить любое кол-во пользователей.
Отсылать сообщения по конкретному JID у меня получилось, подскажите как слать сообщения в группу General, чтобы всё время не добавлять\удалять\редактировать JID пользователей. Т.е. так: подписан в мою группу? - получи сообщение. Не подписан? - не получи.

Вот для наглядности:
import sleekxmpp
 
 
XMPP_HOST = 'myhost'
XMPP_PORT = 5222
XMPP_SENDER = 'myuser@myhost'
XMPP_SENDER_PASSWORD = 'mypass'
XMPP_RECIPIENTS = ['anotheruser@myhost']
 
class Notifier(sleekxmpp.ClientXMPP):
 
    def __init__(self, jid, password, recipients, message):
        sleekxmpp.ClientXMPP.__init__(self, jid, password)
        self.recipients = recipients
        self.message = message
 
        self.add_event_handler("session_start", self.start)
 
    def start(self, event):
        self.get_roster()
        self.send_presence()
        for recipient in self.recipients:
            self.send_message(mto=recipient, mbody=self.message)
        self.disconnect(wait=True)
 
sendbot = Notifier(XMPP_SENDER, XMPP_SENDER_PASSWORD, XMPP_RECIPIENTS, 'SOME TEXTXXXXXSDD)
sendbot.register_plugin('xep_0030') # Service Discovery
sendbot.register_plugin('xep_0199') # XMPP Ping
sendbot.connect((gethostbyname(XMPP_HOST), XMPP_PORT), use_tls=False)
sendbot.process(block=True) 

Django » Не работает регистро независимый поиск. » Июль 19, 2013 15:22:03

Привет!
Делаю регистро независимый поиск.
В запросах использую:
MyModel.objects.filter(name__icontains=q)
Django 1.5.1
Postgresql 9.1
Но работает только точное совпадение.
Читал, что проблема в локале.
Как правильно установить необходимую локаль, что бы регистро независимый поиск заработал?

Django » Заменить Raw SQL на Django ORM запрос » Июль 18, 2013 16:45:56

Подскажите, пожалуйста, как заменить следующий код на Django ORM запрос?

mysql> select author_id, count(*) c from library_books group by author_id having c>2 limit 10;
+---------------+----+
| author_id | c |
+---------------+----+
| 0 | 39 |
| 1552 | 17 |
| 1784 | 8 |
| 1876 | 11 |
| 2475 | 5 |
| 2542 | 11 |
| 2597 | 11 |
| 3130 | 12 |
| 3778 | 12 |
| 5831 | 3 |
+---------------+----+

Python для .Net » Как создать программу на IronPython для Android? » Июль 17, 2013 20:05:58

Установил IronPython, создал несколько проектов. Потом в подпапке Platforms случайно обнаружил папку Android. Решил попробовать. Сделал следующее:
1. Создал консольное приложение IronPythonApplication.py с кодом:
print('Hello world')
raw_input(“Press any key to exit”)
2. Сделал IronPythonApplication.exe с помощью командного файла:
“c:\Program Files\IronPython 2.7\ipy.exe” “c:\Program Files\IronPython 2.7\Tools\Scripts\pyc.py” /target:exe /main:“d:\MyAndroid\IronPythonApplication\IronPythonApplication\IronPythonApplication.py”
3. Сделал на SD карточке телефона с Android 4.1 директорию AndroidProg, скопировал туда все файлы из директории Android и созданные файлы IronPythonApplication.py и IronPythonApplication.exe.
4. Попытался из запустить и получил сообщение, что с ними не связанна ни одна из программ. Подскажите, пожалуйста, как можно использовать IronPython для создания программ для Android. На всякий случай прикрепляю файлы, о который написано выше.

GUI » Не загружается плагин к QtDesigner(мой виджет) » Июль 17, 2013 18:52:16

Где лог глянуть загрузки плагинов?
Остальные мои плагины грузятся, и они очень похожу на тот который не грузится..

Django » Аутентификация пользователей веб-приложения на Django через LDAP/AD » Июль 15, 2013 13:51:28

Доброго времени суток!
Может кто подбросит ссылок для изучения по теме? Интересует и доходчивое описание процесса такой аутентификации, и как сконфигурировать среду разработки для отладки, и примеры кода. Заранее благодарен.

Python для новичков » запуск скрипта с параметрами из веб » Июль 14, 2013 01:03:17

День добрый.
Есть веб-страница, на которую выводится табличка с содержимым базы данных. Также на странице есть поле ввода и кнопка “Искать”. При нажатии на кнопку должен осуществляться поиск в базе данных строк, соответствующих содержимому поля ввода, и вывод на эту же страницу результата поиска по БД(количество столбцов остается прежним).
Вопрос: как при нажатии на кнопку запускать питоновский скрипт поиска по базе данных и передавать в этот скрипт заданное значение?

Используется веб-сервер торнадо, mysql и python.

Django » Работа с Mandrill API » Июль 13, 2013 12:38:26

Добрый день.

Столкнулся с задачей - надо отправлять письма через сервис Mandrill. Нужно отслеживать те или иные статусы сообщения (отправлено, открыто, недоставлено). Mandrill работает через POST отправляешь сообщение в соответствующем формате, получаешь на него ответ. Для отправки сообщения я использую Djrill и его функции. Но проблема в том что Djrill не обрабатывает ответы. Только сообщения от Mandrill. В итоге получается неприятная ситуация. Я отправляю сообщение с письмом в Mandrill, он шлет мне в ответ уведомление с id письма или сообщение об ошибке, но я этот его ответ теряю и потом могу отследить судьбу письма лишь получив сообщение от Mandrill о том что письмо доставлено, оттуда уже взять id письма и как-то с ним работать. Эта схема теоретически работоспособная, но в реальности получается так что письмв доставляются нормально, а вот информация о статусах теряется. Даже когда я отправляю всего два письма, то в итоге получаю информацию о доставке всего об одном письме, а статус “открыто” вообще не получаю.

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

Как мне перехватить ответ от Mandrill?

Python для новичков » python 3.3 chcp 65001  » Июль 13, 2013 08:21:30

Написал программу на python 3.3 (первую на python!):
#-*- coding:utf-8 -*-
import urllib.request
import subprocess
#import os
#os.system("chcp 65001")
subprocess.call("chcp 65001", shell=True)
f = urllib.request.urlopen("http://www.relcom.ru/")
a = f.read()
print(a.decode('utf-8'))
Запускаю ее под win 7 (64) в консоли (cmd, powershell, от jpsoft), появляется ошибка:
PS C:\omni\python> python my.py
Active code page: 65001
Traceback (most recent call last):
File “my.py”, line 9, in <module>
print(a.decode('utf-8'))
File “C:\Python33\lib\encodings\cp866.py”, line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)
UnicodeEncodeError: ‘charmap’ codec can't encode character ‘\xab’ in position 4327: character maps to <undefined>
PS C:\omni\python>
То есть, почему-то берется кодировка cp866, а не utf-8, хотя я вроде бы ее поменял с помощью chcp.
Когда запускаю этот же скрипт в этой же консоли повторно, то все выполняется как надо и на экран выводится код страницы relcom.ru :
PS C:\omni\python> python my.py
Active code page: 65001
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8”>
<title>Компания Релком </title>

Прописал в алиасах ‘cp65001’ : ‘utf_8’ - не помогает.
Как бы сделать так, чтобы все выводилось нормально с первого раза? В чем ошибка?

Python для новичков » NTLM авторизация в Tornado » Июль 11, 2013 12:39:50

Всем привет.
Начал изучать питон недавно (python 3.3, win7). Хочу перенести на него пару своих веб проектов.
Столкнулся с проблемой в прозрачной авторизации через NTLM.
Прошерстил весь инет - возможных решений не нашел кроме как ковыряние пакета python-ntlm и встраивание его функционала в обработку торнадо, но учитывая мои откровенно слабые знания питона - это займет довольно много времени.
Может кто знает - существуют ли альтернативные пути решения, или может кто натолкнет в какую сторону рыть лучше всего.

Буду рад любой информации

GUI » Drag and Drop в QListView » Июль 2, 2013 08:57:37

Добрый день.
Сделал перетаскивание и сброс пунктов в QListView:
self.listView = QtGui.QListView()
self.listView.setDragEnabled(True)
self.listView.setDragDropMode(4)
self.listView.setDropIndicatorShown(True)
self.listView.setAutoScroll(True)
self.listView.setSelectionMode(3)

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

Посоветуйте, пожалуйста, как это реализовать.

Python для новичков » Как задать pylibcurl путь к dll библиотекам CURL ? » Июнь 18, 2013 17:40:12

Установил pylibcurl.
Скачал CURL, распаковал в \site-packages\pylibcurl\curl-7.30.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32.
Добавил в \site-packages\pylibcurl\__init__.py:
import sys, os
sys.path.append(os.path.join(os.path.dirname(__file__),"curl-7.30.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32"))
Теперь если запустить такой код :
from pylibcurl import Curl, const, lib, CurlError
из папки \site-packages\pylibcurl\curl-7.30.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32 то сработает без ошибок , если из любой другой - то будет ошибка импорта dll библиотек (WindowsError: Error 126).
Как задать pylibcurl путь к dll библиотекам CURL ?

Флейм » нужен Senior Python back-end developer.Харьков » Июнь 14, 2013 11:59:53

Зарубежная компания, разрабатывающая семейство популярных продуктов сегмента В2В приглашает на работу квалифицированного Python разработчика для разработки бэк-энда
• Опыт в разработке ПО от 3х лет
• Хорошее знание Python
• Опыт работы в unix-среде
• mySql
+желательно :
- знание Javascript ( jQuery) ,естественно для фронтенда.т.е это требование не ключевое
Английский желателен, но не обязателен, если не владеете-есть прекрасная возможность подучить
Компания предлагает:
-Широкие возможности профессионального развития
- вы будете играть ведущую роль в разработке back-end масштабируемых, высоконагруженных проектов
-гибкий график работы
-отличные условия работы в офисном центре высокого класса,3 мин от метро, в центре
-высокая оплата труда(заметно выше чем в других веб-технологиях),
-оплачиваемые отпуска и больничные
-высококлассный технический менеджмент
Что еще? разработка ПО ведется по Agile
Просим присылать развернутое резюме на мейл
info@eone.com.ua с пометкой Python developer

GUI » Вывести графические данные из буфера программы в окно (любой тулкит). Линукс. » Июнь 13, 2013 18:44:52

Я пишу экспортёр из Блендера в Поврей. В процессе оказалось, что у Поврея врождённый глюк под линуксом, о котором всем заинтересованным лицам известно, но никто ничего ни делает для его устранения. Глюк заключается в том, что по команде из Geany, bash-скрипта, питон-скрипта, из консоли Поврей запускается в обычном режиме, открывает SDL окно и показывает происходящий процесс, открывая клетку за клеткой создающееся изображение. Если я попытаюсь запустить поврей из блендера(что особенно нужно) или из Eclipse получается segfault. Ранее писавшие экспортёр программисты обошли проблему костылём, добавив в subprocess extra-argument “-d”, не дающий открываться окну наблюдения.Segfault не происходит, но и процесс наблюдать невозможно. Это никуда не годится, ибо при моделировании ни всегда есть необходимость ждать восемь часов результат. Порою бывает достаточно и четверть сцены просмотреть, чтобы увидеть косяки, которые необходимо исправить.

Вопрос: можно ли как-то влезть туда, где накапливается вычисляемая повреем информация и вывести её в drawing area какого-нибудь вменяемого тулкита в виде pyQt или pyGTK, чтоб поврей не тревожить запуском глючного окна SDL? Питон, разумеется 3.3.

Флейм » Меняем код на деньги » Июнь 13, 2013 14:58:36

Всем привет!

По семейным обстоятельствам нас покинул питонщик, о чём мы сильно скорбим.

Если кто-нибудь хочет его заменить, то стучитесь ко мне на zzz.sochi@gmail.com . Требования просты: уметь _разговаривать_ на питоне, уметь изучать новые технологии и уметь писать чистый понятный код.

Пока ещё серверного кода нет и, если поторопитесь, можно обсудить используемые технологии. Я склоняюсь к Pyramid, Mongo и Redis. За клиентскую основу взяли AngularJS, но бекендщику этого знать не надо – да, верстать не придётся.

В бюджете у нас заложено 115000 рублей, но, я думаю, месяц испытательного срока скорее всего будет. Всё обсуждаемо и всё решаемо.
Географически мы находимся в Москве, вот тут: http://www.dm1867.ru.
График гибкий (никто часы считать не будет), но работа не удалённая.

P.S. Мы являемся частью Futurelabs.

GUI » Как правильно использовать метод bits() » Июнь 13, 2013 10:28:21

У меня есть код:

#Глобальные
bf = []
im = QtGui.QImage(720, 492, QtGui.QImage.Format_ARGB32)
def MyTimer(self):
     global bf
     global im
      for j in range(0, 720, 1):
           bf.append([])
           for i in range(491, -1, -1):
                bf[j].append(struct.unpack("B", fp.read(1))[0])
      for j in range(0, 720, 1):
           for i in range(491, -1, -1):
                im.setPixel(j, i, QtGui.QColor(bf[j][-i], bf[j][-i], bf[j][-i], 255).rgba())
    def paintEvent(self, QPaintEvent):
         global im
         global phi
         Tochka = QtGui.QPainter()
         Tochka.begin(self)
         Tochka.translate(50, 50)
         Tochka.drawImage(0, 0, im, 0, 0, int((2*self.MyRadianToGradus(phi))+0.5), 492)
         Tochka.end()

Всё рисуеться прекрасно. Я хотел использовать в место метода setPixel метод bits и посмотреть, как с изменением именно этой части кода будет рисоваться картинка, более быстро, более медленно или также.

Пытался сделать так:

# Глобальные
bf = []
im = QtGui.QImage(720, 492, QtGui.QImage.Format_ARGB32)
ptr = im.bits()
ptr.setsize(im.byteCount())
def MyTimer(self):
     global bf
     global ptr
     for j in range(0, 720, 1):
          bf.append([])
          for i in range(491, -1, -1):
               bf[j].append(struct.unpack("B", fp.read(1))[0])
     for j in range(0, 720, 1):
          for i in range(491, -1, -1):
               ptr = QtGui.QColor(bf[j][-i], bf[j][-i], bf[j][-i], 255).rgba()
def paintEvent(self, QPaintEvent):
      global im
      global phi
      Tochka = QtGui.QPainter()
      Tochka.begin(self)
      Tochka.translate(50, 50)
      Tochka.drawImage(0, 0, im, 0, 0, int((2*self.MyRadianToGradus(phi))+0.5), 492)
      Tochka.end()

А в результате ничего не рисуеться, как я понял я не правильно заполняю ptr, а как правильно не понимаю.
Как я понял ошибка в коде:
for j in range(0, 720, 1):
          for i in range(491, -1, -1):
               ptr = QtGui.QColor(bf[j][-i], bf[j][-i], bf[j][-i], 255).rgba()

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

GUI » PyQt правильное использование моделей-отображения. » Июнь 12, 2013 23:37:52

Есть модель QsqlTableModel.
Отображается через QTableView.
Понадобилось сделать диалог для редактирования, добавления записей.
Именно диалог не через QTableView,сначала кодил его в ручную(Четко заданы названия полей, и интупы для них).
Потом я понял что это долго, мучительно и не правильно.
Написал такой класс:
class BaseRecordDialog(QDialog):
    """docstring for Add"""
    def __init__(self):
        super(QDialog, self).__init__()
        self._model = None
        self.test_btn = QPushButton("Save")
        self.test_btn.clicked.connect(self.saveModel)
        self.layout = QVBoxLayout(self)
        self.record_layout = QFormLayout()
        self.layout.addLayout(self.record_layout)
        self.layout.addWidget(self.test_btn)
        self.inputs = {}
    def setModel(self, model):  #Метод принимает как арг. модель и на ее основе строит форму.
        self._model = model
        self.inputs = {}
        for x in xrange(0, model.columnCount()):
            header_text = model.headerData(x, Qt.Horizontal).toString()
            self.inputs[x] = QLineEdit()
            self.record_layout.addRow(header_text, self.inputs[x])

И все вроде-бы хорошо, но одними QEdit сыт не будешь.
Вопрос нормально ли из метода модели QsqlTableModel.data отдавать когда запросят данные для редактирования Qt.EditRole список, в диалоге соответсвенно если передан список отображать например QComboBox.
Все бы хорошо но модель одна и если QTableView отдать список то она неправильно это воспримет.
Тут наверное нужен делегат для нее*?
Но через QTableView редактирование полей производится не будет, но хотелось бы написать правильно.

Python для экспертов » Создание файла изображения по сцене » Июнь 12, 2013 22:42:21

Имеются цвета, координаты центров и радиусы шаров и аналогично геометрические параметры цилиндров. Необходимо создать графический файл с изображением сцены, что-то вроде OpenGL только в файл. Работа предполагается на сервере, так что иксов нет. Подскажите модуль или библиотеку.