Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3486 posts.

GUI » пакет -графический редактор объектов существует? » Окт. 8, 2010 20:54:53

В программе часто требуется редактировать поля объекта (примерно как в отладчике присваивать новые значения строкам и числам)
примерно так - диалоговое окно в нем древовидное представление полей.
Не смог найти соответствующий пакетик может кто подскажет?
Нашел похожее только OTS Object Browser, www.opentradingsystem.com но это без редактирования.
Неплохо если это будут пакеты под TkInter или wxPython

Python для новичков » список литературы в xml » Окт. 7, 2010 20:52:51

Есть небольшая бибилиотека статей, хранящаяся в виде xml списка. Нужно написать скрипт фильтрующий записи по каждому из трех полей author, keywords, title. Как решить задачу:
1.средствами xml.dom ? тогда какими функциями работать?
2. считать в список объектов специально созданного класса и обрабатывать список ? тогда какой функцией зачитать всю базу в список?
3. какой-то другой метод.



список хранится так (некоторые поля выкинул):
$ cat bib.xml 
<?xml version='1.0' encoding='utf-8'?>

<!-- biblist -->
<list name = "test">

<item id = "1">
<author>Петров П.П.</author>
<title>Математика</title>
<keywords>ротор, дивергенция</keywords>
<file>./pertov.pdf</file>
</item>

<item id = "2">
<author>Иванов И.И.</author>
<title>Физика</title>
<keywords>закон Ома, закон Кулона</keywords>
<file>./ivanov.ps</file>
</item>

</list>

Python для новичков » Ошибка "no start line" при загрузке крипто-ключа » Окт. 7, 2010 12:03:37

Получаю ошибку “no start line” при попытке сделать RSA.load_key_string(ключ)
Кто поможет?
P.s. В файле 2 ключа, сам файл представляет собой XML. Первый ключ (свой секретный) я получаю точно также и проблем нет, далее идет получение публичной части ключа партнера и вот такая ошибка наблюдается.
p.p.s пробелы обрезаны, переносы строк убраны

Python для новичков » пакет -графический редактор объектов существует? » Окт. 6, 2010 20:33:08

В программе часто требуется редактировать поля объекта (примерно как в отладчике строки и числа)
примерно так - диалоговое окно в нем древовидное представление полей.
Не смог найти соответствующий пакетик может кто подскажет?
Нашел похожее только OTS Object Browser, www.opentradingsystem.com но это без редактирования.
Неплохо если это будут пакеты под TkInter или wxPython

Python проекты » PaperDonkey закачка газет » Окт. 5, 2010 22:32:34

Писал для работы.(Мониторинг печатных СМИ)

Собственно

склеено py2exe.
исходни внутри.

Програмка скачивает статьи лежащие на сайтах газет в открытом доступе и преобразует в txt для дальнейщей обработки.
Маловероятно что будет кому-то полезно.
Но это мои первые шаги. И легкие эксгибиционистские наклонности взяли верх.
Хотелось бы послушать критику.
Главное не захлебнуться, ибо сей индусский код самому глаза пока режет.

Django » как вывести данные в форму? » Окт. 3, 2010 21:03:59

Доброе время суток!

Подскажите пожалуйста: есть форма для ввода данных на сайте, а как сделать форму для редактирования этих дынных для пользователя - вывести все заметки, а при нажатии на заметку открывалась заполненная форма для редактирования?

спасибо за помощь

Django » Вопрос по haystack » Окт. 3, 2010 19:28:00

Здравствуйте, использую haystack с движком whoosh
Вопрос по haystack: можно ли в haystack через post_save обновить индекс для всей модели. В остальных моделях в которых не было сигнала записи, не должен обновляться индекс.

Django » Изменение отображения RadioSelect » Окт. 3, 2010 15:16:12

Решила изменить отображение виджета RadioSelect. В forms.py написала следующее:
from django.forms.widgets import RadioFieldRenderer

class MyRadioFieldRenderer(RadioFieldRenderer):
def render(self):
return mark_safe(u'<ul>\n%s\n</ul>' % u'\n'.join([u'%s &nbsp; &nbsp; &nbsp;'
% force_unicode(w) for w in self]))

class MyRadioSelect(forms.RadioSelect):
renderer = MyRadioFieldRenderer


class ActivityForm(forms.Form):
form_kind = forms.ModelChoiceField(queryset = Kind.objects.all(), empty_label=None, widget=MyRadioSelect)
Выдает ошибку
 Traceback (most recent call last):

File "c:\Program Files\Python26\lib\site-packages\django\core\servers\basehttp.py", line 280, in run
self.result = application(self.environ, self.start_response)

File "c:\Program Files\Python26\lib\site-packages\django\core\servers\basehttp.py", line 674, in __call__
return self.application(environ, start_response)

File "c:\Program Files\Python26\lib\site-packages\django\core\handlers\wsgi.py", line 241, in __call__
response = self.get_response(request)

File "c:\Program Files\Python26\lib\site-packages\django\core\handlers\base.py", line 142, in get_response
return self.handle_uncaught_exception(request, resolver, exc_info)

File "c:\Program Files\Python26\lib\site-packages\django\core\handlers\base.py", line 166, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)

File "c:\Program Files\Python26\lib\site-packages\django\views\debug.py", line 58, in technical_500_response
html = reporter.get_traceback_html()

File "c:\Program Files\Python26\lib\site-packages\django\views\debug.py", line 109, in get_traceback_html
frames = self.get_traceback_frames()

File "c:\Program Files\Python26\lib\site-packages\django\views\debug.py", line 228, in get_traceback_frames
pre_context_lineno, pre_context, context_line, post_context = self._get_lines_from_file(filename, lineno, 7, loader, module_name)

File "c:\Program Files\Python26\lib\site-packages\django\views\debug.py", line 209, in _get_lines_from_file
context_line = source[lineno].strip('\n')

IndexError: list index out of range
Подскажите, как это можно исправить.

Web » Windows credentials & proxy auth » Окт. 2, 2010 13:50:32

Продублирую сюда. Товарищи, помоги, плиз :)
Всем привет.
Дано: винда, домен, прокси с авторизацией
Необходимо: авторизоваться на прокси, используя учетные данные пользователя виндас. Т.е. передать логин и пароль учетной записи на прокси.
Вот никак не могу понять как такое сделать. Получил домен, имя пользователя, адрес и порт прокси, но пароль получить не удастся никак? Т.е. urllib2.ProxyHandler не прокатит. Тогда как? Непонимаю, замучился, прощу помощи. Пните, плиз, в нужном направлении

Zope/Plone/Bluebream » BB object->list » Сен. 30, 2010 20:48:30

Если мы пробегаемся по объектам и добавляем их в список такой конструкцией:
for i in objectlist:
self.list.append(i)
то в self.list добавляется ссылка на объект или копируется весь объект?

Django » Доступ к элементам словаря в шаблоне » Сен. 30, 2010 16:45:46

Задача:
1. Есть база-модель в которой хранятся данные о продажах
class Data(models.Model):
upload_id=models.IntegerField()
disty=models.IntegerField()
partnumber=models.IntegerField()
dealer=models.IntegerField()
city=models.IntegerField()
price=models.FloatField()
quantity=models.IntegerField()
date=models.DateField()
2. Нужно отобразить суммы продаж сгруппированные времени, в порядка возрастания времени.

Есть шаблон в который предаются необходимые данные для отображения.

Как это сделать:
а) использовать методы класса для рендеринга - но, не совсем разобрался как там и чего делается, плюс фильтры у меня разные, создавать новые классы или перегружать текущий новыми методами, имхо не совсем правильно, но вы меня поправте если не прав.
б) в лучших традициях питона используем классную штуку словарь:
times=[line['date'] for line in Data.objects.values('date').distinct()] #не очень красиво конечно, пожелания принимаются
sales={}
for line in times:
# тут добывание значений, как сделать select sum(price*quantity) from data where date=line; я не разобрался поэтому вложенный цикл итд
#result помещаем вычисленную сумму за месяц
sales[line]=result
return render_to_response('total_sales_common.html', {sales':sales})
total_sales_common.html
</ul>
<ul>
{% for key,value in sales %}
<li>
{{key}}, {{value}}

</li>
{% endfor %}
</ul>
По сути пример из документации. Он рабочий, но не подходит, т.к. при выводе будут данные вынуты из словаря рандомно.
А хочется банально отсортировать или по дате или по сумме. На сколько я понял django не дает доступ к методам питоновского объекта.

Банальную конструкцию for key in sorted(data.keys()): print key, data в шаблоне не реализуешь.
3) учитывая пункт 2 делаем псевдо словарь в виде списка.
times=[line['date'] for line in Data.objects.values('date').distinct()] #не очень красиво конечно, пожелания принимаются
sales=[]
for line in times:
# тут добывание значений, как сделать select sum(price*quantity) from data where date=line; я не разобрался поэтому вложенный цикл итд
#result помещаем вычисленную сумму за месяц
sales.append([line,reuslt])
return render_to_response('total_sales_common.html', {sales':sales})
total_sales_common.html
</ul>
<ul>
{% for line in sales %}
<li>
{{line.0}}, {{line.1}}

</li>
{% endfor %}
</ul>
Читабельность данного варианта не лучшая, но это рабочий вариант решения задачи отображения массива данных отсортированного по одному из полей.
Или я что не так понял относительно словарей в шаблонах?

Флейм » Ищем удаленного разработчика на python/django » Сен. 30, 2010 15:33:00

В команду стартапа ищется удаленный разработчик на python/django. Работа примерно на 2 месяца, полная занятость. Цель - запустить первую версию проекта. В дальнейшем, если проект “пойдет”, перейдем на постоянное сотрудничество. Зарплата от 25 до 40 т.р. (обсуждается с подходящим кандидатом).

Требования:
1. Несколько сделанных проектов на Python/Django
2. Понимание плюсов-минусов Django
3. Опыт работы с Mysql, работа с миграциями
4. Умение работать с системой контроля версий (желательно git/hg)

Плюс:
1. Знание javascript
2. Умение работать удаленно, в распределенной команде
3. Умение активно участвовать в разработке, предлагать свои решения, участвовать в проектировании новых функций

В общем это стартап - много задач, задачи меняются постоянно, стабильности нет, нужно быстро соображать.

Вопросы, примеры работ и краткий рассказ о себе присылайте на korolami@gmail.com.

Python для новичков » Работа с USB устройствами » Сен. 30, 2010 11:59:09

Помогите, пожалуйста, разобраться, как отправлять и получать сообщения с USB устройств. Выйдет ли это реализовать через библиотеку PyUSB 1.0?
http://pyusb.sourceforge.net/docs/1.0/tutorial.html

Python для новичков » pywinauto » Сен. 28, 2010 12:12:31

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

Python для новичков » передача объекта как аргумент другому объекту » Сен. 27, 2010 08:25:05

Помогите новичку
Хочу сделать класс “панель инструментов”, и ему при создании аргументом передавать родителя.
Как это правильно сделать??
Вот что то подобное:
try:
import Tkinter
import tkFont
except:
import tkinter as Tkinter
import tkinter.font as tkFont
import ttk
class ToolPanel (object):

def __init__ (self,object) :
self.tp = ttk.Frame (self,object)
self.tp.pack ()
self.listButton = {}
self.bt = []
def NewButton(self,name, cupt) :
self.listButton[name]=cupt
self.bt.Add (Button (self.tp, text = cupt)).pack ()
if __name__ == '__main__' :
root = Tkinter.Tk()
kl = ToolPanel (root)
root.mainloop ()
object - это созданный родитель и он передаётся панели

Zope/Plone/Bluebream » BB сохранение локальных переменных функций » Сен. 24, 2010 11:11:16

Проблема следующая.
Есть объекты “разделы”, которые вкладываются друг в друга.
Задача: получить список списков всех разделов по уровням от текущего до корня.
Функция:
    def getSectionList(self, list=[]):
loclist=[]
for i in self.context.values():
if ISection.providedBy(i):
loclist.append(i)
if loclist != []: list.append(loclist)
if ISection.providedBy(self.context):
self.context.__parent__.getSectionList(list)
else: return list
Отображение в шаблоне:
<span tal:repeat="lst view/getSL">
[<span tal:repeat="sec lst">
<span tal:content="sec/__name__"></span>
</span>]
</span>
При первом вызове всё работает как надо, начиная с чистого list.
Но при обновлении странички list почему-то сохраняет предыдущее значение, в итоге происходит дубляж.
Пока что для решения этой проблемы в шаблоне использую вызов метода с заданием пустого листа в качестве начального атрибута:
<span tal:repeat="lst python:view.getSectionList([])">
[<span tal:repeat="sec lst">
<span tal:content="sec/__name__"></span>
</span>]
</span>
Вопрос: можно ли как-то переписать метод, чтобы он работал при первичном коде шаблона?

Python для Java » разработка web-апплетов » Сен. 24, 2010 10:09:22

В jython.org/jythonbook пишут, что в настоящее время jythonc исключён из Jython, но в версии 2.5.1 или другой в ближайшем будущем, должна появиться новая технология для создания applet-ов.

С другой стороны, Jython 2.5.1 уже доступен к скачиванию. Я его не смотрел, но позвольте поинтересоваться, включена ли в него эта новая технология?

Python для новичков » 3D поверхность из файла » Сен. 23, 2010 12:53:42

Как правильно заполнить массив Z в примере, чтобы скрипт рисовал поверхность, хранящуюся в файле data.txt. В файле, в каждой строчке храняться координаты точек площадок поверхности. Например, одна площадка
$ cat data.txt 
0 1 2
1 0 2
0 -1 2
-1 0 2
Сейчас в скрипте просто, набранный руками массив, а не числа из файла.
$ cat my_figure.py 
#!/usr/bin/python
import pylab
from mpl_toolkits.mplot3d import Axes3D
from numpy import *
import numpy
x,y,z = loadtxt('data.txt', usecols=[0,1,2], unpack=True)
print "data from data.txt = ", x,y,z
X, Y = numpy.meshgrid(x,y)
print "X=", X
print "Y=", Y

Z = numpy.array([ [2.1, 2., 2., 2.], [2., 2., 2., 2.], [2., 2., 2., 2.], [2., 2. ,2., 2.] ])
print "Z=", Z

fig = pylab.figure()
axes = Axes3D(fig)
axes.plot_surface(X, Y, Z)
pylab.show()

$ ./my_figure.py
data from data.txt = [ 0. 1. 0. -1.] [ 1. 0. -1. 0.] [ 2. 2. 2. 2.]
X= [[ 0. 1. 0. -1.]
[ 0. 1. 0. -1.]
[ 0. 1. 0. -1.]
[ 0. 1. 0. -1.]]
Y= [[ 1. 1. 1. 1.]
[ 0. 0. 0. 0.]
[-1. -1. -1. -1.]
[ 0. 0. 0. 0.]]
Z= [[ 2.1 2. 2. 2. ]
[ 2. 2. 2. 2. ]
[ 2. 2. 2. 2. ]
[ 2. 2. 2. 2. ]]

Django » Опытный программист Python/Django (Санкт-Петербург) » Сен. 21, 2010 14:10:45

Задач у нас намного больше, чем людей (http://www.art-intellect.ru/personal_list.html, эту ссылку bbcode не переварил), поэтому ищем программиста
с опытом python и django в команду, ответственного и внимательного человека,
способного потянуть как средних размеров проект самостоятельно, так и большой в
команде.

Мы занимаемся разработкой самых разных проектов, от простых сайтов до специализированного
софта под уличные терминалы и статик-ориентированной CMS под десятки тысяч типовых
сайтов.

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

Что нужно знать:
- Python и его стандартную билиотеку
- Django и его плюсы и минусы
- MySql (оптимизацию запросов, нормализацию, денормализацию)
- Базовые алгоритмы и структуры данных
- Как оно все внутри устроено и работает
- Основы (или не только основы) верстки
- Клиентский Javascript и какой-нибудь распространенный фреймворк (например JQuery)

Что желательно уметь:
- Работать с системой контроля версий
- Выкладывать в продакшн (например с помощью sh скриптов или fabric)
- Работать в Linux (все наши серверы на Linux)

Что было бы совсем здорово:
- Знать что-нибудь нестандартное (Какой-нибудь Lisp, Haskell или Erlang например)
- Опыт работы с другими современними фреймворками (NodeJS, Tornado, …)
- Опыт работы с NoSql (Redis, CouchDB, …)
- Опыт pyQt или wxPython

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

Условия:
- Полный рабочий день
- Находимся в 5 минутах от метро “Московские ворота” (Бизнес-центр в стороне от шума)
- З/п от 40 000 до 50 000 в рублях (после налогов) в зависимости от опыта
- Удобное рабочее место
- Предоставляем ноутбук или системник с монитором (если нужно еще один монитор)
- Соблюдаем ТК РФ, есть парковка у бизнес-центра

Резюме (вместе с ошибками в этой вакансии, если найдете) и вопросы, отправлять
на python@germes.ru

PS Не увидел простого способа опубликовать вакансию здесь http://python.su/job/,
поэтому создаю тему в этом подфоруме, просьба администрации либо
перенести в вакансии, либо подсказать как это сделать самому, либо оставить все как есть :)

Django » django-cms создание своего плагина » Сен. 20, 2010 13:59:24

Django version 1.2.1
django-cms version 2.0

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

Чтобы добавить фотоальбом на страницу, я просто выбираю в конкретной странице, в конкретном placeholder'е свой плагин и указываю какую галерею отображать.
Теперь появилась необходимость сделать раздел один Фотоальбомы (список всех фотоальбомов с 2-3 превьюшками) и Топ-10 фото (или топ-3 альбома) на каждой странице.
На данный момент вижу два решения задачи:
1. Пишем еще один плагин «GalleryPreview» и «GalleryTop» => ну а дальше все так же, как и с обычным плагином.
Что смущает: DRY идет лесом, «GalleryTop» придется добавлять в каждой странице отдельно.

2. Пишем свой отдельным app и не делаем его CMSPlugin'ом, а просто «расширяем» url представления.
Что смущает: В будущем хочется использовать этот модуль неоднократно, и встает вопрос об универсальности.
А имено, slug по которому будет доступен плагин может меняться. (В принципе, это не является проблемой, т.к. можно хранить его в базе, но тогда еще одна неприятность — конечному пользователю надо будет не только добавлять страницы в django-cms, но еще и прописывать slug и прочие настройки (темплейты и тд.) отдельно для фотоальбома)