Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3487 posts.

Флейм » Нужна помощь в консультации по WSGI. » Окт. 28, 2011 20:42:06

Нужна помощь в консультации по wsgi-приложениям на python 2.6 без фраймворка
Консультация по skype. Плачу WebMoney. Кому интересно пишите ваши контакты на agentvivaat@yandex.ru

Центр помощи » Нужна помощь в консультации по WSGI » Окт. 28, 2011 20:40:01

Нужна помощь в консультации по wsgi-приложениям на python 2.6 без фраймворка
Консультация по skype. Плачу WebMoney. Кому интересно пишите ваши контакты на agentvivaat@yandex.ru

GUI » PyQt4 и Socks5 » Окт. 28, 2011 17:11:44

Подскажите как реализовать soks5 в pyqtwebkit
Делаю так

#!/usr/bin/env python
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

# Some of the PyQt libs
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
from PyQt4.QtNetwork import *

def onLoadFinished(result):
print "result - " + str(result)
sys.exit(0)

manager = QNetworkAccessManager()
proxy = QNetworkProxy()
proxy.setHostName("123.123.123.123")
proxy.setPort(123)
proxy.setType(proxy.Socks5Proxy)
manager.setProxy(proxy)


app = QApplication(sys.argv)
webpage = QWebPage()
webpage.setNetworkAccessManager(manager)
webpage.connect(webpage, SIGNAL("loadFinished(bool)"), onLoadFinished)
webpage.mainFrame().load(QUrl("http://2ip.ru"))
#webpage.mainFrame().load(QUrl("http://188.40.74.10"))
sys.exit(app.exec_())
Если обращаться на прямую к сайту то не работает ничего,а если в его ипу то все ок,
webpage.mainFrame().load(QUrl("http://188.40.74.10"))
в чем может быть проблема?
Спасибо.

Python для новичков » Как sphc объект записать в файл » Окт. 25, 2011 22:20:06

Помогите записать программно составленный html в файл.
Пытаюсь так:
tf = sphc.TagFactory()
doc = tf.HTML()
doc.body = tf.BODY()
doc.body.content = tf.H1("Title.")

f = open('rel.html','w')
f.write(doc)
f.close()
Выпадает ошибка.
Как я понимаю надо из doc получить str параметр который уже надо писать в файл.

GUI » Tkinter. Несколько меню. » Окт. 24, 2011 04:20:43

Можно ли как нить сделать несколько меню: первое (File, View, Settings и т.д.), второе под ним (кнопки с картинками), третье под вторым и т.д.?
Заранее спасибо)

ps т.е. есть менюшка первая, а есть на которой всякие инструменты располагаются..

GUI » Сборка .app на Mac с Python, Qt, PyQt, MySQL с использованием py2app » Окт. 22, 2011 14:04:53

Всем привет!

Есть проблема со сборкой приложения на Mac, написанного на Python+Qt+MySQL, бандл собирается через py2app

Частая проблема Qt — отсутствующий libqsqlmysql.dylib решена — скомпилировал и все заработало на девелоперской машине. Теперь задача — собрать автономный app.

Текущее состояние — app собирается и запускается на другой машине, но не может найти этот проклятый QMYSQL из бандла

Я нашел два потенциальных способа решения

1) использование в скрипте сборки macdeployqt — он создает папку xxxx.app/Contents/PlugIns с плагинами Qt но там нет плагинов из sqldrivers/*. Если я кладу их туда ручками — то соотвественно — на девелоперской машине бандл запустился отлично, на чистой машине — нет, ошибка «нет QMYSQL»

2) положить библиотеку плагина в Contenst/Frameworks/* как описано тут http://stackoverflow.com/questions/2809930/macdeployqt-and-third-party-libraries

но после выполнения

# install_name_tool -change /Developer/Applications/Qt/plugins/sqldrivers/ @executable_path/../Frameworks/libqsqlmysql.dylib ./dist/MyApp.app/Contents/MacOS/MyApp

и запуска приложения — этот плагин не подхватвается — даже на девелоперской машине

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

* Мой оригинальный вопрос на StackOverflow http://stackoverflow.com/questions/7840788/macos-app-creation-trouble-py2app-qt-mysql-libqsqlmysql-dylib - там тишина

* Вопрос на Хабре http://habrahabr.ru/qa/12704/ там человек посоветовал указал на разницу в длине старого и нового пути, но с новыми значениями - таже самая картина.


Заранее спасибо за любую помощь!

Python для новичков » Сборка python-purple » Окт. 21, 2011 22:32:09

Делаю по ману, который лежит тут _http://developer.pidgin.im/wiki/PythonHowTo. Запускаю cython purple.pyx -I libpurple/. выдает следующее:
Error converting Pyrex file to C:
------------------------------------------------------------
...

iter = plugin.purple_plugins_get_protocols()
protocol_list = []
while iter:
pp = <plugin.PurplePlugin*> iter.data
if pp.info and pp.info.name:
^
------------------------------------------------------------

/home/user/python-purple/purple.pyx:430:17: Cannot convert 'PurplePluginInfo *' to Python object

Error converting Pyrex file to C:
------------------------------------------------------------
...
iter = blist.purple_find_buddies(self._get_structure(), NULL)

while iter:
c_alias = NULL
c_buddy = <blist.PurpleBuddy *> iter.data
if <blist.PurpleBuddy *> c_buddy and \
^
------------------------------------------------------------

/home/user/python-purple/account.pyx:570:19: Cannot convert 'PurpleBuddy *' to Python object
Если выполнить $ python2.5 setup_dist.py build выдает вот что:
running build
running build_ext
building 'purple' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c c_purple.c -o build/temp.linux-i686-2.6/c_purple.o -I/usr/local/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c purple.c -o build/temp.linux-i686-2.6/purple.o -I/usr/local/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
purple.c:1:2: error: #error Do not use this file, it is the result of a failed Cython compilation.
error: command 'gcc' failed with exit status 1

Python для новичков » Написать функцию » Окт. 19, 2011 23:29:51

Написать функцыю unknown(), которая принимает интернет адрес как аргумент и возвращает неизвестные слова, которые встречаются в тексте. При разработке функции использовать re.findall() для обнаружения всех подлент и корпус Words Corpus (nltk.corpus.words) для обнаружения неизвестных слов.

неизвестные слова - слова, которые не входят в этот корпус nltk.corpus.words
использовать библиотеку nltk

Python для новичков » Потоки в Windows и Linux » Окт. 18, 2011 10:23:25

Есть скрипт используется tkinter и threading, окно отрисовывается в основном потоке, 1 доп поток запускается выполняется некие действия, по окончании запускается 2 доп поток “таймер” по окончании времени идет обращение к 1 доп потоку и так по кругу.

from threading import Thread
from Tkinter import *

class TR():
def __init__(self):
self.t1 = Thread(target = self.prog1, args = ())
self.t2 = Thread(target = self.prog2, args = ())
self.root = Tk()
self.t1.start()

def prog1(self):
#Что-то делаем
if self.t2.isAlive():
self.t2.run()
else:
self.t2.start()

def prog2(self):
#Что-то делаем
self.t1.run()

def prog3(self):
#Окно рисуем и тд
self.root.mainloop()

tr = TR()
tr.prog3()
В Linux (версия 2.5.5) схема работает, в Windows (версия 2.7.2) создается окно элементы не отрисовываются и зависает… Ткните носом куда копать…

Python для новичков » pySerial, нюансы миграции с Delphi на Python » Окт. 15, 2011 15:59:12

Доброго времени суток уважаемое комюнити.

Есть некое устройство, которое управляется через windows-клиент написаный на Делфи(исходники присутствуют).
Поскольку на даный момент, да и в будущем есть необходимость дополнять функционал клиентской части, все это дело будет портироватся на python и неспешно переежать на unix платформу.

К слову сказать, документация на железку утеряна, с дефолтными 8-N-1 работать отказалась.
Покопавшись в исходниках win-програмы были обнаружены параметры соеденения, а именно DCB структура, где среди xor и baudrate был обнаружен следующая строка dcb.Flags := $0001010. Также была обнаружена строка ct.ReadTotalTimeoutConstant := $0000000F структуры COMMTIMEOUTS Win32.

Теперь вопрос, как можно передать эти параметры с помощью модуля pySerial?

GUI » Потоки QThread и остановка » Окт. 13, 2011 13:46:21

Добрый день.
В после нажатия кнопки в главном окне запускается поток QThread. В нем в зависимости от задачи создается очередь и запускается подпоток/и, которые выполняют определенную функцию. Какое-то время все работает нормально, но потом возникакет подвисание или остановка потока. К сожалению, что именно не знаю. Соответственно, работа останавливается. При этом GUI пашет нормально. Подскажите, пожалуйста, в каком направлении копать, чтобы вычислить причину зависания.

Python для новичков » Голосовое сообщение » Окт. 12, 2011 01:20:06

Здравствуйте! Подскажите как на Python можно осуществить отправку голосовых сообщений через мобильный телефон подлюченный к ПК.

Инструментальные средства разработки » VIM плагин для python разработчиков. » Окт. 11, 2011 14:52:11

Привет, написал тут плагин для VIM делающий работу с python в этом редакторе более комфортабельной.

Почитать можно тут: http://klen.github.com/python-mode-ru.html

Посмотреть скринкаст тут: http://www.youtube.com/watch?feature=player_embedded&v=67OZNp9Z0CQ

Ну и сам плагин находится здесь: https://github.com/klen/python-mode

Python для экспертов » список опций в cdm2 » Окт. 11, 2011 10:25:33

Имеем такой код
from cmd2 import Cmd, make_option, options
import sys, optparse

class CmdLineApp(Cmd):

@options([make_option('-a', '--append', action="store_true", help="Help for append"),
make_option('-b', '--prepend', action="store_true", help="Help for prepend")
])
def do_test(self, arg, opts=None):
pass

app = CmdLineApp()
func = getattr(app, 'do_test')
print func
#как получить список опций?
Как далее получить список опций добавленных в options имея ссылку на функцию?

Python для новичков » куча файлов после компиляции cxFreeze » Окт. 10, 2011 03:07:46

Скомпилировал свой скрипт в .exe с помощью cxFreeze

Рядом появилась куча файлов. Ладно бы ещё .dll, но там и .pyd и какие-то архивы..

Можно ли с этим что-то сделать? В идеале всю мелочь, кроме крупных dll склеить с самим exe
Или хотя бы сложить все в отдельную папку.

Смотрел другие компиляторы, но попадались только для второй ветки питона, а мой скрипт на python 3.2

Web » backbone vs knockout » Окт. 9, 2011 19:55:28

По большей части эти фреймворки - конкуренты, поэтому лучше знать 1 профессионально, чем оба на среднем уровне.

“Политически” backbone выглядит перспективней - более распространен, меньше весит (хотя зависит от пары других либов), вроде как лучше для больших проектов…

кто что скажет?

GUI » как отловить сообщения у дочернего виджита? » Окт. 9, 2011 18:10:03

хочу создать виджит, и отловить нажатие клавиш (к примеру) на нем:
#! /usr/bin/env python
# coding: utf-8

import gtk, gobject

class entryDate(gtk.Entry):
def __init__(self):
gtk.Entry.__init__(self)
self.Entry = gtk.Entry()
self.Entry.connect("key-press-event", self.onKeyPress )

def onKeyPress(self, widget, event):
print "key pressed"
где грабли?

GUI » Reload QWebView » Окт. 9, 2011 16:55:22

Надо загружать в QWebView новую страницу по нажатию на ветку дерева. Выдаётся ошибка:
Traceback (most recent call last):
File "mysoft.py", line 32, in bookLoad
book.setUrl(QtCore.QUrl(y))
TypeError: arguments did not match any overloaded call:
QUrl(): too many arguments
QUrl(QString): argument 1 has unexpected type 'QTreeWidgetItem'
QUrl(QUrl): argument 1 has unexpected type 'QTreeWidgetItem'
QUrl(QString, QUrl.ParsingMode): argument 1 has unexpected type 'QTreeWidgetItem'
Код:
def bookLoad(y):
book.setUrl(QtCore.QUrl(y))


book = QWebView()
book.load(QtCore.QUrl(f)) # Дефолтная страница.


QtCore.QObject.connect(tree, QtCore.SIGNAL('itemClicked(QTreeWidgetItem *, int)'), bookLoad)
Код дерева брал отсюда

Django » выбор фото из уже загруженных » Окт. 9, 2011 16:13:52

Собственно, надо сделать сабж. Есть много моделей, у которых есть, логично, по одному или несколько ImageField'ов. От меня требуется написать плагин, чтобы в админке была возможность не только загружать фото, но и выбирать из уже загруженных.

Насколько я понял, такое можно сделать добавлением рядом с полем-картинкой к каждой модели поле URL, после чего доставать содержимое в file-like object и присваивать филду. Но очень хочется обойтись без модификации моделей, одними кастомными формами, филдами и/или виджетами.

Наверняка кто-то такое делал и знает способ, поделитесь опытом, пожалуйста :)

GUI » Шаблон для использования PyQt интерфейса » Окт. 9, 2011 11:25:17

Здравствуйте!

Столкнулся с проблемой внедрения интерфейса в программу, а именно:
- Создаю интерфейс в Qt Designer, компилирую например в UIMainForm.py модуль.
- Создаю класс MainForm, который реализует интерфейс.

class MainForm(QtGui.QWidget):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.ui = UIMainForm.UIMainForm()
self.ui.setupUi(self)
Экземпляр данного класса и представляет форму(в моем случае), через переменную ui получаю доступ к ЭУ на этой форме.

frm = MainForm.MainForm()
frm.ui.btnShutdown.setEnabled(False)
frm.show()
Проблема в том, что для каждого модуля интерфейса (UIMainForm.py) приходится писать новый класс (MainForm).

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