Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Pyramid / Pylons / TurboGears » tgfastdata debian » Май 27, 2007 11:54:21

всем привет!

может есть у кого сам deb или ссылка на python-tgfastdata в бинарном пакете для debian etch - скиньте, пожалуйста :)

Django » Категория - атрибуты -товары. Как связать их вместе? » Май 22, 2007 15:03:19

Может кто работал с подобной (весьма распространенной логикой)?
Итак, есть некий каталог с некими категориями. У каждой категории есть атрибуты или свойства (например - категория “автомобиль” имеет атрибут “масса”, “цвет” и т.д.). Каталог содержит записи; каждая запись имеет родительскую категорию. Соответственно при редактировании записи необходимо для нее заполнить значения соответствующих атрибутов (список которых определяется родительской категорией).
Структура таблиц БД примерно такая (вложенностью категорий пока пренебрежем):

– categories –
id
name
….

– attributes –
id
name

– category_attributes –
category_id
attribute_id

– items –
id
category_id
name

– item_attributes –
item_id
attribute_id
value

Цель - в админке вывод полей с именами атрибутов для данной записи в каталоге для заполнения значений атрибутов. А на фронте - удобный вывод форматированных данных о записи (товаре например).

Собственно вопрос в чем: можно ли реализовать такую функциональность, используя стандартные средства Django? Как вообще в виде выводить несколько связанных моделей? Или нужно все-таки свои экшены для админки писать? Может, сталкивался кто…
Буду благодарен за совет.

Флейм » http://projecteuler.net/ » Май 6, 2007 09:14:06

Дуже цікавий сайт. Подібний на http://pythonchallenge.com , але задачки можна розвязувати на будь-чому. І самі задачки дуже цікаві, більшість розвязується на пітоні в 1-2 рядки )

Zope/Plone/Bluebream » Clickable Charts под Zope » Май 5, 2007 17:47:45

Всем привет!
Скажите а никто не работал с ChartDirector под Zope?
С выводом графики более менее разобрался. Но понадобились Clickable Charts - и не понятно как их использовать под Zope…
Эти Charts несколько отличаются от обычных…
Если можно, ссылку на пример, пожалуйста.

Zope/Plone/Bluebream » Newbie question, searchable memberdata fields » Май 5, 2007 12:19:31

Привет друзья!

Я относительно новый человек в мире Zope/Plone. Есть следующая задачка
по кустомайзингу Plone сайта.

В portal_memberdata создал строковое поле - graduation. Модифицировал
join_form и personallize_form, примерно так, join_form:


<div class=“field”
tal:define=“graduation request/graduation | nothing”>
<label for=“graduation” i18n:translate=“label_graduation”>Year
of Graduation</label>

<div class=“formHelp” i18n:translate=“help_graduation”>
Help string.
</div>

<select name=“graduation”
id=“graduation”
tabindex=“”
tal:attributes=“tabindex tabindex/next”>
<tal:block tal:repeat=“year python:xrange(1980,2011)”>
<option tal:condition=“python:year != ‘None’”
value=“None”
tal:attributes=“value year;
selected
python:test(year==graduation, ‘selected’, None);”
tal:content=“year”>
Year of Graduation
</option>
</tal:block>
</select>
</div>


и реrsonalize_form соответственно:

<div class=“field”
tal:define=“graduation
python:request.get('graduation',

member.getProperty('graduation',''))”>
<label for=“graduation”
i18n:translate=“label_graduation”>Year of Graduation</label>

<div class=“formHelp”
i18n:translate=“help_graduation”>
Help string.
</div>

<select name=“graduation”
id=“graduation”
tabindex=“”
tal:attributes=“tabindex tabindex/
next;
disabled python:member.canWriteProperty('graduation') and
default or ‘disabled’”>
<tal:block tal:repeat=“year
python:xrange(1980,2011)”>
<option tal:condition=“python:year !=
'None'”
value=“None”
tal:attributes=“value year;
selected
python:test(year==graduation, ‘selected’, None);”
tal:content=“year”>
Year of Graduation
</option>
</tal:block>
</select>
</div>


Вопросы/проблемы:

1. На join_form я могу безпроблем выбрать год в поле graduation, но
выбранный год не отображается на personalize_form, там 1980 все время.
Я так понял ошибка где то тут:

<select name=“graduation”
id=“graduation”
tabindex=“”
tal:attributes=“tabindex tabindex/
next;
disabled python:member.canWriteProperty('graduation') and
default or ‘disabled’”>
<tal:block tal:repeat=“year
python:xrange(1980,2011)”>
<option tal:condition=“python:year !=
'None'”
value=“None”
tal:attributes=“value year;
selected
python:test(year==graduation, ‘selected’, None);”
tal:content=“year”>
Year of Graduation
</option>
</tal:block>
</select>

но не могу понять почему и как ее исправить.

2. Как сделать поле graduation из portal_memberdata индексированым,
что бы можно было вести поиск членов портала по данному полю?

Пока все и заранее спасибо.

Флейм » Хотел ли кто либо создать СтартАп? » Апрель 23, 2007 09:57:33

Собственно сабж.
Что вы по этому поводу думаете, думали и что вам мешало это сделать, если вы хотели?

Отвечаю на вопрос который может возникнуть у Вас:
Да, я хочу собрать команду для стартапа :)….

В наличии.
SVN репозитарий на трас-е (правда бесплатный, но там на 250 метров…)
Сервер 3000+ 250 гб, 512, украина анлим, мир 400 гб в месяц. (можно увеличить до 1тб)
Идея сайта. В самой основе заложена интернализация и возможность генерации кучи трафика…. (Фишка, не реализованая никем еще..)

Нету.
Разработчиков. :)…

Маленький опус.
За последний год изучения интернета от дорвейства до социальных ресурсов я придумал более 5 видов ведения бизнеса для крупных игроков рынка, которые через несколько месяцев те реализовывали. (все было придумано во сне :), когда сбивал ритм сна, допустим погуляв хорошо, потом проспавши весь день и ночью уже идет мозговой штурм, который анализирует информацию, полученную за определённый период, обработав и родивши идею в итоге)

В сентябре того года человек предложил мне взять в аренду сервер, что и было сделано. В течении 7 месяцев мы платили в холостую, и после запуска одного проекта он начал отбивать хостинг.
Может кто знает, пол года назад стартап rigg.com (кажется адрес такой, rss ридер) Был продан за 15 млн долларов. Только я сам пробовал его, и пользуюсь другим сайтом, который лучше и удобней, но его создал 1! человек.
И если вы сомневались в своих силах, знайте, создать что либо реально. И реально что бы это приносило доход…..

Python для экспертов » Вышел Python 2.5.1 » Апрель 19, 2007 14:33:28

Первый багфикс релиз
http://python.org/download/releases/2.5.1

Список пофиксенного впечатляет (http://www.python.org/download/releases/2.5.1/NEWS.txt). Особенно (для меня) интересны некоторые win32-related bugs

Zope/Plone/Bluebream » отчеты под Zope ? » Апрель 18, 2007 22:19:47

Всем привет
А подскажите пожалуйста существует ли под Zope какие-нить отчеты? Чтоб умели делать группы по поля, суммировать суммы по этим группам,
возможность выделять некоторые ячейки. Неплохо б делать crosstab-отчеты(они еще называются по-разному: шахматка, сводные - в общем
в зависимости от данных - с различным кол-вом колонок). Работаю с ZMySql.

Django » Модификация админки » Апрель 11, 2007 07:34:19

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

Подскажите, кто разбирался в коде админки :) , как можно реализовать отображение на одной странице сразу трех связанных моделей C->B->A

class A(models.Model):
...

class B(models.Model):
a = models.ForeignKey(A, edit_inline=models.STACKED, num_in_admin=1, num_extra_on_change=1)
...

class C(models.Model):
b = models.ForeignKey(B, edit_inline=models.TABULAR, num_in_admin=1, num_extra_on_change=1)
...
Тэг {% edit_inline %} из admin/templatetags/admin_modify.py отображает B->A. Но как изменить код так, чтобы заставить отображаться сразу C->B->A, я пока не могу придумать :)

GUI » PyInstaller, Tkinter кракозябры при наборе русских букв. » Апрель 6, 2007 10:04:08

Имеется Python 2.5 и PyInstaller 1.2, Windows.
В программе, в которой есть ввод с клавиатуры, например:


# -*- coding: utf-8 -*-

from Tkinter import *
root = Tk()

entry = Entry(root)
entry.insert(0,“Entry”)
entry.pack()

root.mainloop()



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

На всякий случай spec-файл:

a = Analysis(,
pathex=)
pyz = PYZ(a.pure)
exe = EXE(TkPKG(), pyz,
a.scripts,
a.binaries,
name='test.exe',
debug=False,
strip=False,
upx=True,
console=False )



Формирую ехе-шник так:
c:/python25/python ../../pi/makespec.py -F ./test.py -K -w -X -o ./
c:/python25/python ../../pi/Build.py ./test.spec

Mobile Python » WMDial » Март 31, 2007 22:34:09

Всем привет.
Давно мечтал на своей нокии иметь поиск по контактам как в Windows Mobile. Т.е. при наборе номера одновременно производится поиск в контактах, причём как на предмет совпадения набираемого номера, так и в именах контактов. В именах поиск производится как на т9, не зависимо от текущего языка. На досугах накидал на телефоне скрипт, который это дело кое-как реализует.
Прошу любить и жаловать:
# -*- coding: utf-8 -*-
import appuifw as ui
import contacts
import e32
import key_codes as kc
import telephone as tel
C=contacts.ContactsDb()
fulllist=[(-1,u'Number',[u''])]+[(el[0], el[1].title,[el[1][f].value for f in el[1].keys() if el[1][f].schema['phonenumberfield']]) for el in C.items()]
list=[]+fulllist
def u(s):
  return unicode(s,'utf-8')
n=[[' ',], ['',],['a','b','c','а','б','в','г','A','B','C','А','Б','В','Г',],['d','e','f','д','е','ж','з','D','Е','F','Д','Е','Ж','З',],['g','h','i','и','й','к','л','G','H','I','И','Й','К','Л',],['j','k','l','м','н','о','п','J','K','L','М','Н','О','П',],['m','n','o','р','с','т','у','M','N','O','Р','С','Т','У',],['p','q','r','s','ф','х','ц','ч','P','Q','R','S','p','q','r','s',],['t','u','v','ш','щ','ъ','ы','T','U','V','Ш','Щ','Ъ','Ы',],['w','x','y','z','ь','э','ю','я','W','X','Y','Z','Ь','Э','Ю','Я',]]
n=[[u(j) for j in i] for i in n]
def show():
  ui.note(unicode(repr(list[lb.current()])))
  
def call():
  phones=list[lb.current()][2]
  name=list[lb.current()][1]
  if not phones:
    ui.note(u'No number')
    return
  elif len(phones)==1:
    ind=0
  else:
    ind=ui.popup_menu(phones, name)
  if ind!=None:
    tel.dial(phones[ind])
#global number
number=u''
def Key1():
  global number
  number+=u'1'
  update()
def Key2():
  global number
  number+=u'2'
  update()
def Key3():
  global number
  number+=u'3'
  update()
def Key4():
  global number
  number+=u'4'
  update()
def Key5():
  global number
  number+=u'5'
  update()
def Key6():
  global number
  number+=u'6'
  update()
def Key7():
  global number
  number+=u'7'
  update()
def Key8():
  global number
  number+=u'8'
  update()
def Key9():
  global number
  number+=u'9'
  update()
def Key0():
  global number
  number+=u'0'
  update()
def KeyC():
  global number
  number=number[:-1]
  update()
def clear():
  global number
  number=u''
  update()
def num(char):
  global n
  i=0
  for chars in n:
    if char in chars:
      return u(str(i))
    i+=1
  return char
  
def sort(title, numbers):
  global number
  numtitle=u''
  if not numbers:
    return 0
  else:
    for c in title:
      numtitle+=num(c)
    #ui.note(numtitle)
    for n in numbers+[numtitle,]:
      if n[:2]==u'+7':
        n=u'8'+n[2:]
      try:
        if not n.split(number)[0]==n:
          return 1
      except:
        pass
  return 0
def update():
  global list
  list[0][2][0]=number
  if not number:
    list=[el for el in fulllist]
  else:
    list=[el for el in fulllist if sort(el[1],el[2])]
  titles=[el[1] for el in list]
  titles[0]=number
  lb.set_list(titles)
titles=[el[1] for el in list]
titles[0]=u''
lb=ui.Listbox(titles, show)
lb.bind(kc.EKey1,Key1)
lb.bind(kc.EKey2,Key2)
lb.bind(kc.EKey3,Key3)
lb.bind(kc.EKey4,Key4)
lb.bind(kc.EKey5,Key5)
lb.bind(kc.EKey6,Key6)
lb.bind(kc.EKey7,Key7)
lb.bind(kc.EKey8,Key8)
lb.bind(kc.EKey9,Key9)
lb.bind(kc.EKey0,Key0)
lb.bind(kc.EKeyBackspace,KeyC)
lb.bind(kc.EKeyYes,call)
lb.bind(kc.EKeyNo,clear)
#ui.app.screen='large'
ui.app.title = u"Dialer"
ui.app.body=lb
running=1
def quit():
    global running
    running=0
    
ui.app.exit_key_handler=quit
while running:
    e32.ao_sleep(0.01)
За код и отсутствие комментариев прошу сильно не пинать ибо написано целиком и полностью на телефоне(как и этот пост).
Это только тестовая версия, приложение будет полностью переписано.
Жду критики, пожеланий, комментариев и другого вида фидбек.

Pyramid / Pylons / TurboGears » Pylons+Prototype » Март 29, 2007 13:28:55

Грабли на граблях, но нравится он мне :)
Кто-нибудь использовал prototype helpers вместе с Pylons?

Web » удаление куков » Март 28, 2007 22:02:29

как можно удалять куки, например устанавливать время равное 0 не получается

Zope/Plone/Bluebream » В "tal:repeat" добавить по условию несколько строк » Март 25, 2007 17:36:31

Всем привет!
У меня есть таблица с тремя колонками которая заполняется в цикле данными из getData.
Мне необходипмо по определенному значению поля item/type_name под строкой нарисовать несколько строк,
взяв данные из другой функции(то есть детализация одной из строк). Делаю так:
<tr class=“Row” tal:repeat=“item container/getData” >

<td tal:define=“oddrow repeat/item/odd” tal:attributes=“class python:test(oddrow, ‘td_odd’,'td_even')” tal:content=“item/type_name”>
type_name
</td>
<td align=“right” tal:define=“oddrow repeat/item/odd” tal:attributes=“class python:test(oddrow, ‘td_odd’,'td_even')” tal:content=“item/RowsCount”>
RowsCount
</td>
<td align=“right” tal:define=“oddrow repeat/item/odd” tal:attributes=“class python:test(oddrow, ‘td_odd’,'td_even')” tal:content=“item/numberofparticipants”>
numberofparticipants
</td>



<span tal:define=“global t_name item/type_name” ></span> # Получть item/type_name в переменную
::<span tal:replace=“t_name” tal:omit-tag=“”></span>::
<span tal:condition=“python:t_name == ‘One on One’” tal:omit-tag=“”> # В данном случае и надо нарисовать подстроки. Далее я полагал так:

<tr> # Еще одна строка с таблицей
<td colspan=“2”>

<table border=2 width=110%>
<tr>
<td>Some more Datas
</td>
</tr>
</table>

</td>
</tr>



</span>


</tr> # Конец цикла функции container/getData

И при сохранении получаю ошибку :
Compilation failed
TAL.TALDefs.TALError: TAL attributes on <span> require explicit </span>, at line 45, column 11
на строке : <span tal:condition=“python:t_name …

то есть получается что, я пытаюсь разорвать определение строки <tr class=”Row“ tal:repeat=”item container/getData" >
Можно это как-нибудь обойти?

С уважением,
Нилов Сергей

Python для экспертов » [31.03] Exception #04. Python seminar in Kiev. » Март 19, 2007 12:13:17

31 марта 2007 года в Киеве пройдет очередной семинар по программированию на Python - "Exception #04".

Первые два доклада будут посвящены тестированию (TDD) и его роли в разработке на Python. Докладчики рассмотрят вопрос важности тестов, расскажут о выборе оптимальной стратегии тестирования, опишут инструменты и приемы эффективного тестирования. Так же будет описан процесс test-driven development на примере разработки системы контроля версий Bazaar и будут рассмотрены конкретные примеры расширения возможностей стандартной библиотеки unittest.

Темой третьего доклада будет тема профайлинга при оптимизации скорости работы приложения.

Внимание: вход бесплатный.

Подробная информация о семинаре и докладах …
Регистрация …

GUI » Студенты есть? (Google SoC) » Март 15, 2007 15:10:54

wxPython будет принимать участие в Google Summer of Code 2007.
Если есть желающие поучаствовать, то вот страничка с идеями: http://wiki.wxpython.org/index.cgi/Google_SoC_Project_Ideas и с информацией: http://www.wxwidgets.org/wiki/index.php/StudentApplicationTemplate

Django » Top 10 ресурсов для новичков в Django » Март 6, 2007 05:26:37

http://www.lecturefox.com/blog/top-10-resources-for-django-newbies

1. djangoproject.com: documentation, code, community
2. Django Users: Google Groups section
3. The Django Book: 19 chapters for free (beta version)
4. Django Resources: link collection
5. djangosnippets.org: snippets collection
6. Django Cheat Sheet: syntax list
7. Installing Django on Windows: tutorial
8. Django Jumpstart: Build a To-do list in 30 Minutes - tutorial
9. Develop the Web with Python and Django: tutorial (IBM developer channel)
10. Top 30 Django Tutorials and Articles
Я бы пункт 2 для русскоязычных пользователей заменил бы на django@sm.o и django@py.c.u. И добавил бы http://djangosearch.com/ и http://softwaremaniacs.org/blog/category/django/

GUI » Open-source GUI builder для Tkinter (Tcl/Tk) » Март 2, 2007 18:37:24

Раньше был частью IDE Komodo, теперь это отдельный проект. Вполне рабочий судя по всему. Поддерживает все основные платформы (Linux/Windiws/Mac) (причем число закачек виндовой версии вдвое больше чем для линуксовой, но это понятно – под линуксом Tk выглядит не так сексуально как GTK).

http://spectcl.sourceforge.net/

Web » мистика. python C API + fastcgi » Фев. 27, 2007 16:28:50

пытаюсь связать сишную либу fasctgi с питоном.
#!/usr/bin/python
import cpfcgi,os
def req():
    print (repr(os.environ))
        
cpfcgi.listen(req)

вот собственно сам модуль cpfcgi:
#include <Python.h>
#include <fcgi_stdio.h>
static PyObject * fcgi_listen(PyObject *self, PyObject *args)
{
        int num=0;
        PyObject * fun=NULL;
        if(!PyArg_ParseTuple(args, "O", &fun))
                return(NULL);
        Py_INCREF(fun);
        while(FCGI_Accept () >= 0)
        {
                printf("Content-type: text/html\r\n\r\nyo<br>%d",num);
                PyEval_CallObject(fun,NULL); // <- trouble is here
                num++;
        }
        Py_DECREF(fun);
        return Py_BuildValue("i", 0);
}
static PyMethodDef cpfcgiMethods[] = {
        {"listen",      fcgi_listen,    METH_VARARGS,   "listen for fastcgi requests."},
        {NULL, NULL, 0, NULL}
};
PyMODINIT_FUNC initcpfcgi(void)
{
        (void) Py_InitModule("cpfcgi", cpfcgiMethods);
}

здесь в каменте указано где проблема.
проблема собссно вот в чем: функция которую я передаю (req) не вызывается. тоесть строчка которая printf ("Content-type … срабатывает, а следующая нет, и дальше все срабатывает, num увеличивается, и все как положенно.
тоесть все работает кроме того что нада (собственно кроме вызова функции которую я передаю)
а мистика в том, что если запускать не через lighttpd а вручную - то функция вызывается, и пишет мне os.environ
(если запускать вручную то FCGI_Accept сразу срабатывает, не дожидаясь fastcgi запроса, и отдает все на stdout. на следующем проходе она не блокирует, и просто возвращает false)
код тотже, абсолютно ничего не меняю

может кто сталкивался с такими приколами?

Флейм » Attachment Mod » Янв. 20, 2007 13:52:45

Теперь на форуме добавлена возможность прикрепления к форуму файлов. Пример.