Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3469 posts.

GUI » [pygtk] - виртуальный TreeDataStore » Дек. 2, 2008 13:56:38

Есть gtk.TreeView в котором отображается gtk.TreeStore.
Проблема в том, что запрос, возвращающий данные в этот TreeStore возвращает очень много данных.
Поэтому хотелось бы заполнять TreeStrore только теми данными, которые сейчас видны на экране, а оставшиеся данные подгружать по мере скролирования пользователем TreeView.

Вопрос - есть ли готовые механизмы для решения данной задачи или мне целиком самому надо реализовывать данный механизм?

Флейм » RSS Feed for the Python Job Board » Ноя. 27, 2008 16:57:53

The Python.org job board (http://www.python.org/community/jobs/) now
has an RSS feed which can be found at http://www.python.org/community/jobs/jobs.rss
which list the 20 most recent postings in summary form along with a
link to the posting on the jobs page.

The Python.org job board, a free resource for employers and job-
seekers alike, is maintained by volunteers from the Python community.
It is updated several times weekly and lists postings going back as
far as six months from many countries.

Pyramid / Pylons / TurboGears » Названия файлов с кирилицей » Ноя. 26, 2008 05:58:43

Подскажите, пожалуйста, как заставить Pylons выдергивать в браузер файлы с русскими буквами.
Например в public лежит файл “ыыы.doc”, есть на него ссылка, при клике возвращает 404, файлы с латинскими буквами возвращает нормально.

GUI » как из открытой вэбстраници в PyQt4 webkit webview сохранить картинку? » Ноя. 24, 2008 19:51:23

вот например как сохранить картинку google отсюда?
подскажите пожалуйста)))
from PyQt4 import QtWebKit, QtCore, QtGui, QtNetwork
import sys

class Webber(QtGui.QMainWindow):
def __init__(self):
##
self.view = QtWebKit.QWebView()
self.view.setGeometry(100, 200, 800, 500)
self.view.load(QtCore.QUrl('http://www.google.com.ua/'))
self.view.show()
app = QtGui.QApplication(sys.argv)
main = Webber()
sys.exit(app.exec_())

GUI » PyGTK и кодировка » Ноя. 24, 2008 19:26:52

вроде бы в pyGTK все должно быть в юниконе но по чему то если я кидаю в виджет поддерживающий драг н дроп файл в пути которого есть русский язык то получаю нечто подобное:
/%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/
если точнее то его возвращает data.data из drag_data_received
как это вылечить?
а ну и все дело происходит на винде

Django » Изменение админки » Ноя. 21, 2008 14:48:35

В админке для приложения book создал несколько объектов. Но объекты располагаются в том порядке в котором я их занес туда, а как можно поменять их порядок. Например, как вариант использовать кнопку поднять опустить объект. Подскажите как я могу это сделать?

Django » Error: No module named sql_server.base » Ноя. 17, 2008 21:19:34

Возобновил попытки заставить работать django с MS SQL server. Установил
http://code.google.com/p/django-pyodbc/
установил pyodbc.
если установить
DATABASE_ENGINE = 'sql_server.pyodbc'
получаю
C:\djproject\mysite>manage.py syncdb
Traceback (most recent call last):
File "C:\djproject\mysite\manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python25\lib\site-packages\django\core\management\__init__.py", line
340, in execute_manager
utility.execute()
File "C:\Python25\lib\site-packages\django\core\management\__init__.py", line
295, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python25\lib\site-packages\django\core\management\base.py", line 77,
in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python25\lib\site-packages\django\core\management\base.py", line 87,
in execute
translation.activate('en-us')
File "C:\Python25\lib\site-packages\django\utils\translation\__init__.py", lin
e 73, in activate
return real_activate(language)
File "C:\Python25\lib\site-packages\django\utils\translation\__init__.py", lin
e 43, in delayed_loader
return g['real_%s' % caller](*args, **kwargs)
File "C:\Python25\lib\site-packages\django\utils\translation\trans_real.py", l
ine 209, in activate
_active[currentThread()] = translation(language)
File "C:\Python25\lib\site-packages\django\utils\translation\trans_real.py", l
ine 198, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "C:\Python25\lib\site-packages\django\utils\translation\trans_real.py", l
ine 181, in _fetch
app = getattr(__import__(appname[:p], {}, {}, [appname[p+1:]]), appname[p+1:
])
File "C:\Python25\lib\site-packages\django\contrib\admin\__init__.py", line 1,
in <module>
from django.contrib.admin.options import ModelAdmin, HORIZONTAL, VERTICAL
File "C:\Python25\lib\site-packages\django\contrib\admin\options.py", line 5,
in <module>
from django.contrib.contenttypes.models import ContentType
File "C:\Python25\Lib\site-packages\django\contrib\contenttypes\models.py", li
ne 1, in <module>
from django.db import models
File "C:\Python25\lib\site-packages\django\db\__init__.py", line 34, in <modul
e>
(settings.DATABASE_ENGINE, ", ".join(map(repr, available_backends)), e_user)

django.core.exceptions.ImproperlyConfigured: 'sql_server.pyodbc' isn't an availa
ble database backend. Available options are: 'dummy', 'mysql', 'oracle', 'postgr
esql', 'postgresql_psycopg2', 'sql_server', 'sqlite3'
Error was: No module named sql_server.pyodbc.base
если
DATABASE_ENGINE = 'sql_server'
C:\djproject\mysite>manage.py syncdb
Error: No module named sql_server.base
дайте напутствия как установить этот модуль?

Pyramid / Pylons / TurboGears » smtp_server в ini » Ноя. 16, 2008 01:16:16

В ini файле есть упоминание smtp сервера. Задача стандартная : регистрация на сайте нового пользователя и отправка пароля на его email. Вообще для отправки почты есть в Pylons встроенные механизмы или лучше это делать по другому? Еще вопрос : А чем в Pylons формировать “картинку с циферками” (для контроля регистрации нового пользователя) если такого функционала нет, тогда что использовать? Подскажите плиз.

GUI » QNetworkAccessManager.post ( » Ноя. 10, 2008 22:22:15

http://www.riverbankcomputing.com/static/Docs/PyQt4/html/qnetworkaccessmanager.html#post



QNetworkAccessManager.post (self, QNetworkRequest request, QIODevice data)

This function is used to send an HTTP POST request to the destination specified by request. The contents of the data device will be uploaded to the server.

data must be opened for reading when this function is called and must remain valid until the finished() signal is emitted for this reply.

The returned QNetworkReply object will be open for reading and will contain the reply sent by the server to the POST request.

Note: sending a POST request on protocols other than HTTP and HTTPS is undefined and will probably fail.


QNetworkAccessManager.post (self, QNetworkRequest request, QByteArray data)

This is an overloaded member function, provided for convenience.

This function sends the contents of the data byte array to the destination specified by request.






Подскажите пожалуйста, как сформировать запрос на заполнение двух полей формы(user и pass)// я никак не могу понять, какой QByteArray или QIODevice надо сделать.. ((

Django » Элементы django-admin в пользовательской части сайта » Ноя. 9, 2008 23:53:52

Как можно вставить автоматически сгенерированный CRUD интерфейс в “обычную” часть сайта? Т.е. я например кастомизирую через admin.py внешний вид CRUD интерфейса и потом его просто вставляю для какого-то одного элемента модели. Такое возможно?

GUI » QtWebKit.QWebPage() //// click on link or button// or do something.. » Ноя. 9, 2008 21:11:07

class Webber(QtGui.QMainWindow):
def __init__(self,cookieFile):

QtGui.QMainWindow.__init__(self)
self.resize(800,600)

quit = QtGui.QPushButton('Cookies', self)
quit.setGeometry(10, 10, 60, 35)
self.connect(quit, QtCore.SIGNAL('clicked()'),self.printer)
cj = cookielib.LWPCookieJar()
if os.path.isfile(cookieFile):
cj.load(cookieFile)
self.view = QtWebKit.QWebView(self)
self.page=QtWebKit.QWebPage()
self.manager=QtNetwork.QNetworkAccessManager()
self.cj=QtNetwork.QNetworkCookieJar()
self.manager.setCookieJar(self.cj)
#manger.setProxy(QtWebKit.QNetworkProxy)
self.page.setNetworkAccessManager(self.manager)
self.view.setPage(self.page)

self.view.setGeometry(100, 200, 500, 300)
self.view.load(QtCore.QUrl('http://www.google.com.ua/'))
self.view.show()
def printer(self):
print self.cj.allCookies()
помоги пожалуйста,
можно ли и как чтото ввести в поле ввода и нажать кнопку поиск прям из программы,?
если да, то с помощью чего,?
з.ы. я читал справку.. но не нешел того, что надо.

GUI » Справка в PyGTK-приложении » Ноя. 8, 2008 09:32:30

Интересует такая тема. Создание справки к приложению, написанному на PyGTK (GTK+). Приложение работает как на Linux так и на Windows.

Есть ли какие-то стандартные инструменты, виджеты, может быть? Привязка к Gnome или еще к чему не самое лучшее решение, как вы понимаете, ведь в таком случае придется делать отдельную реализации для винды. Сам вообще никогда не занимался созданием пользовательской помощи к своим не многочисленным программам, для меня это что-то совершенно новоё.

Вам приходилось решать такую задачу, как вы поступали? Писали свой код для окна справки и навигации по ней? А быть с контекстной помощью? Сейчас интересует только PyGTK.

..bw

Web » применение make_msgid » Ноя. 7, 2008 17:32:13

У кого есть практический пример применения msgid
из django.core.mail. (…) def make_msgid(idstring=None):

функция генерирует что то типа этого : ‘<20081107152444.10520.11691@r>’
в доке написано что это уникальный идентификатор также читал о msgid http://ru.wikipedia.org/wiki/MSGID но мне пока непонятно его назначение. Или это только для фидо нет нужно ,?

Спасибо

GUI » Подкорректируйте пример gui-application » Ноя. 1, 2008 16:23:02

Привет коллегам!
Есть небольшой пример вьювера цифровых изображений (из книжки “WxPython in action”)
Ниже пример кода:
#!/usr/bin/python
"""Hello, wxPython! program."""
import wx
class Frame(wx.Frame):
"""Frame class that displays an image."""
def __init__(self, image, parent=None, id=­1,
pos=wx.DefaultPosition,
title='Hello, wxPython!'):
"""Create a Frame instance and display image."""
temp = image.ConvertToBitmap()
size = temp.GetWidth(), temp.GetHeight()
wx.Frame.__init__(self, parent, id, title, pos, size)
self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)

class App(wx.App):
"""Application class."""
def OnInit(self):
image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG)
self.frame = Frame(image)
self.frame.Show()
self.SetTopWindow(self.frame)
return True

def main():
app = App()
app.MainLoop()
if __name__ == '__main__':
main()
При попытке “заранить” скрипт, получаю следующий output:

Traceback (most recent call last):
File “start1.py”, line 33, in <module>
main()
File “start1.py”, line 29, in main
app = App()
File “/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wx/_core.py”, line 7836, in __init__
self._BootstrapApp()
File “/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wx/_core.py”, line 7433, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File “start1.py”, line 24, in OnInit
self.frame.Show()
AttributeError: ‘App’ object has no attribute ‘frame’


Кто-то сможет его прокоментировать?
PS: “ногами не бить”, только добрался до этого самого wxPython-a :)

Web » Помогите оценить разработку сайта - нужен веб дизайнер » Окт. 27, 2008 04:30:54

Помогите оценить сколько стоило бы создать сайт похожий своей функциональностью на http://www.hightechhire.com. Особенно важен их способ публикации гугл рекламных линков, которые при нажатии плавно переходят на новую страницу.

Ищу веб дизайнера/программера для похожего проекта.

Python для экспертов » С-расширения и SWIG. С-функция не хочет делиться. » Окт. 24, 2008 12:39:34

Здравствуйте
Решил попробовать написать С-расширение при помощи SWIG. ( у меня openSUSE 10.3)
Оговорюсь сразу: helloSWIG.c и potok.c мне удалось собрать.
potok.c: Что делает - запускается с -поток , 3 раза печатает си-поток( с интервалом в 1 секунду), затем поток завершается, запускается с-процесс, 3 раза печатается си-процесс, процесс завершается.

Файл: potok.c
/* potok.c */
#include <stdio.h>
#include <pthread.h>
#include <signal.h>
pthread_t potok_id;

void * mypotok()
{
while (1) { fprintf(stderr,"СиПоток\n"); sleep(1); }
}
void pusk() {

pthread_create(&potok_id,NULL,&mypotok,NULL);
sleep(3);

pthread_cancel(potok_id);
if( !pthread_equal( pthread_self(),potok_id ) )
{
printf("\n%d\n", pthread_equal( pthread_self(), potok_id ));
fprintf(stderr,"поток завершен\n");
pthread_join(potok_id,NULL);
}
int i;
for (i=0; i<3; i++) {
fprintf(stderr,"СиПроцесс\n"); sleep(1);
}
}
Файл: potok.i
%module potok
%include potok.c
Далее:
swig -python potok.i
И наконец компилирую и связываю:
gcc -shared potok.c potok_wrap.c -o _potokmodule.so -I/usr/include/python2.5 -DHAVE_CONFIG -I/usr/lib/python2.5/config

Запускаю python:
>>> import potok
>>> potok.pusk()
СиПоток
СиПоток
СиПоток

0
поток завершен
СиПроцесс
СиПроцесс
СиПроцесс
>>>
То есть - все нормально, все работает.

Пробую разбить функцию void pusk() на составляющие - void start(), void finish, void pusk()
 /* Npotok.c */
#include <stdio.h>
#include <pthread.h>
#include <signal.h>
pthread_t potok_id ; /* идентификатор потока */

void * mypotok()
{
while (1) { fprintf(stderr,"СиПоток\n"); sleep(1); }
}
void start()
{
pthread_create(&potok_id,NULL,&mypotok,NULL);
}
void finish()
{
pthread_cancel(potok_id);
if( !pthread_equal( pthread_self(),potok_id ) )
{
printf("\n%d\n", pthread_equal( pthread_self(), potok_id ));
fprintf(stderr,"поток завершен\n");
pthread_join(potok_id,NULL);
}
}
void pusk()
{
start();
sleep (3);
finish();
int i;
for (i=0; i<3; i++) {
fprintf(stderr,"СиПроцесс\n"); sleep(1);
}
}
Пытаюсь собрать( все как выше делал):
~> gcc -shared Npotok.c Npotok_wrap.c -o _Npotokmodule.so -I/usr/include/python2.5 -DHAVE_CONFIG -I/usr/lib/python2.5/config

Выдает:
Npotok_wrap.c: In function ‘potok_id_set’:
Npotok_wrap.c:2494: error: ‘potok_id’ undeclared (first use in this function)
Npotok_wrap.c:2494: error: (Each undeclared identifier is reported only once
Npotok_wrap.c:2494: error: for each function it appears in.)
Npotok_wrap.c: In function ‘potok_id_get’:
Npotok_wrap.c:2506: error: ‘potok_id’ undeclared (first use in this function


Почему ? Что ей надо ? Может кто-нибудь подобное делал ? ( под Windows может быть?)


Заранее спасибо

GUI » wxPython: wx.ListCtrl (как листать на нужную строку) » Окт. 22, 2008 11:14:57

Создаю wx.ListCtrl получаю данные из базы данных и отображаю, выделяю нужную строку через
self.ctrl.SetItemState(row_id,wx.LIST_STATE_SELECTED,wx.LIST_STATE_SELECTED)
Строка отмечается и в форме достаточно просто её пользователю найти. Но вот если список wx.ListCtrl достаточно длинный, то пользователю приходится прокручивать список в поисках этой отмеченной строки. Можно ли прокрутить список так чтобы пользователь сразу видел нужную строку?

Web » mod_python на виртуальном хосте » Окт. 21, 2008 13:05:01

Добрый день!

У меня есть дедик на котором установлен Apache2 и работает несколько пректов реализованных на PHP.
Есть желание запустить там же Django под mod_python.

В принципе мне удалось поднять работающую конфигурацию (см. ниже), но поскольку совершенно нет опыта
работы с mod_python и Django хотелось уточнить насколько безопастно сосуществование Python и PHP проектов?

<VirtuallHost *>

ServerName mysite

DocumentRoot /var/web/django/mysite

<Directory “/var/web/django/mysite/”>
allow from all
options Indexes FollowSymLinks
</Directory>

<Location “/”>
SetHandler python-program

PythonPath " + sys.path“
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
SetEnv PYTHON_EGG_CACHE /tmp/.python-eggs
PythonDebug On
</Location>

Alias /media /var/web/django/mysite/media
Alias /admin_media /usr/lib/python2.5/site-packages/django/contrib/admin/media

<Location ”/media“>
SetHandler None
</Location>

<Location ”/admin_media“>
SetHandler None
</Location>

<LocationMatch ”\.(jpg|gif|png)$">
SetHandler None
</LocationMatch>

</VirtualHost>

Django » extra_context и **kwargs » Окт. 19, 2008 16:01:53

Hi
Просьба скажите в каких случаях более применима
extra_context a в каком **kwargs
например в
urls.py можно писать так
(r'^$', 'django.views.generic.simple.direct_to_template', {
'template': 'base.html',
'extra_context' : {'title':'Main page',},
'title' : ''Main page',
}),
в темплатйте пишу:
<title>{{ title }}</title>
<p>{{ params.title }}</p>
Эффект одинаков -extra_context и **kwargs выводят значения а в чем разница их приминения?


Спасибо

Python для новичков » забить ошибку в переменную » Окт. 14, 2008 19:22:37

как так сделать чтоб:
def a()
try:
…..code that raise error
except …:

return k

k - полный текст проблемы который выдал питон


как такое сделать,?