Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3487 posts.

Django » Прикрутить feincms к django » Авг. 28, 2011 11:00:57

Использую Django 1.3, feincms, установил через pip
согласно http://www.feinheit.ch/media/labs/feincms/installation.html#configuration
в seting.py прописал
INSTALLED_APPS = [ feincms,]
в models.py
import datetime
import mptt
from django.db import models
from mptt.models import MPTTModel

class Adress(models.Model):
name_location = models.CharField(max_length=200, unique=True, verbose_name=_(u"name location"))

def __unicode__(self):
return (self.name_location)
mptt.register(Adress)
в admin.py
from django.contrib import admin
from feincms.admin import editor
from company.models import Departament,Adress,Personnel
from mptt.admin import MPTTModelAdmin

class AdressAdmin(editor.TreeEditor):
list_display = ('name_location',)

admin.site.register(Adress,AdressAdmin)
но в админке дерево не отображается
в сервере выводится такие сообшения
[28/Aug/2011 11:32:10] "GET /admin/company/adress/ HTTP/1.1" 200 11414
[28/Aug/2011 11:32:11] "GET /static/feincms/style.css HTTP/1.1" 404 5205
[28/Aug/2011 11:32:11] "GET /static/feincms/fein_tree.css HTTP/1.1" 404 5217
[28/Aug/2011 11:32:11] "GET /static/feincms/jquery-1.5.1.min.js HTTP/1.1" 404 5235
поделитесь как правильно подключить feincms

Python для новичков » ctypes и память » Авг. 27, 2011 10:43:21

test.c:
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#define MAXFRAGMENTS 4000000

typedef struct {
uint64_t FirstFragmentTimestamp;
} fragment_t;

typedef struct {
fragment_t** fragments;
} bts_t;


bts_t* initialize() {
uint32_t i;
bts_t* bts;
bts = (bts_t *) malloc(sizeof(bts_t));
bts->fragments= (fragment_t **) malloc(sizeof(bts_t *)*MAXFRAGMENTS);
for(i=0;i<MAXFRAGMENTS;i++) {
(bts->fragments)=(fragment_t *) malloc(sizeof(fragment_t));
(bts->fragments)->FirstFragmentTimestamp = 0;
}
return bts;
}

int fr(bts_t *bts)
{
uint32_t i;
if ( bts != NULL ) {
for(i=0;i<MAXFRAGMENTS;i++) {
free(bts -> fragments);
}
free(bts->fragments);
}
free(bts);
return 1;
}


int main() {
bts_t* test;
test = initialize();
printf(“print\n”);
sleep(10);
}


test.py:

#!/usr/bin/python2

from ctypes import *
import time.

class test(Structure):
pass

class fragment(Structure):
_fields_=

class btest(Structure):
_fields_=

test_pointer=POINTER(btest)
test_library=CDLL(“test.so”)
initialize = test_library.initialize
fr = test_library.fr
initialize.restype = test_pointer
for i in xrange(0,n):
m = initialize()
fr(m)
print ‘done’
time.sleep(20)

почему при n > 1 top показывает что память освобождается перед print, а при n = 1 в top сжирается 150 мб памяти ? 150 мб это еще ничего а вот если работает 10 параллельных threads то память кушается уже 1 гиг :(

Флейм » Нужен срочно человек,знающий питон для устранения проблемы на сайте. » Авг. 26, 2011 20:39:07

Здраствуйте!
Необходима срочная помощь. Есть интернет-магазин на питоне. Какое-то время работал, а потом перестали отображаться фотографии к товарам в каталоге.Собственно это и есть вся проблема.Оплата договорная,нахожусь в Москве.
icq:491112620

Google App Engine » организация перехода на сайте » Авг. 26, 2011 13:11:36

Здравствуйте. Есть main который выкидывает html файл в браузер, есть этот самый html, в нем есть менюшка, как правильно было бы организовать переход между страницами этого сайта через меню.

Ну хоть кто-нибудь подскажет, или может ссылочку даст на руководство по созданию сайта..:'(

Python для новичков » Записывать видео из массива? » Авг. 23, 2011 00:54:49

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

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

Заранее благодарен.

Web » WSGIScriptAlias и пути » Авг. 22, 2011 13:38:33

Привет!

Настроил WSGI.

<VirtualHost *:80>
ServerName project.net
ServerAlias *.project.net
WSGIScriptAlias / "C:/Apache2.2/htdocs/project/app.wsgi"
DocumentRoot "C:/Apache2.2/htdocs/project"
ErrorLog "logs/pylogs.log"
ScriptAlias /cgi/ "C:/Apache2.2/cgi-bin/"
ScriptAlias /cgi-bin/ "C:/Apache2.2/cgi-bin/"
</VirtualHost>
Обработчик app.wsgi успешно вызывается по адресу project.net. Но так же он вызывается и при любом другой адресе:

project.net/dir/
project.net/css/main.css
project.net/test.txt

Как сделать что-бы он не на любой URL выдавал главную страницу? А только на project.net

Флейм » Нужен программист на python » Авг. 22, 2011 03:00:37

1. Создание системы полного журналирования доступа контент-менеджеров к информации с целью её изменения;

В рамках данной задачи необходимо доработать существующую систему в части:
• на странице, содержащей детализированный отчет о действиях конкретного пользователя за указанный период времени, необходимо добавить новый тип контента «изображение», показывающий какие изображения, в том числе через wysiwyg-редактор, были загружены пользователем.

• на странице добавить кнопку «Отчет в PDF», выполняющую генерацию и выгрузку файла отчета со структурой». При этом, пользователи не осуществлявшие активности в выбранный период времени на выбранном сегменте в отчет не включаются.

2. Cоздание системы тегирования информационных единиц;

В рамках данной задачи необходимо:
• добавить в административный интерфейс портала возможность отмечать тегами такие информационные единицы как новостные разделы, статьи, файлы, фотографии, ссылки. Теги должны вводиться в поле ввода через запятую, для вводимого тега система должна предлагать список вариантов для автоподстановки, если вводимый тег отсутствует в системе, он автоматически добавляется к списку тегов.
• на страницах портала, отображающих содержимое тегируемых информационных единиц, список тегов должен отображаться в рамке под основным контентом тегированной информационной единицы. Каждый тег должен представлять собой ссылку на страницу с результатами поиска, содержащую все информационные единицы, отмеченные данным тегом, отсортированные по дате публикации (самые свежие - наверху).
• на главной странице внизу центральной колонки необходимо реализовать облако тегов. Размер шрифта тега должен быть пропорционален частоте его использования. Каждый тег должен представлять собой ссылку на страницу с результатами поиска, содержащую все информационные единицы, отмеченные данным тегом, отсортированные по дате публикации (самые свежие - наверху).
• теги должны быть проиндексированы системой полнотекстового поиска.

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

В рамках данной задачи необходимо:
• На странице раздела «Сеть учебных заведений», отображающей список учебных заведений, добавить кнопку «Добавить учебное заведение», отображаемую только для зарегистрированных пользователей.
• Разработать страницу регистрации нового/редактирования существующего образовательного учреждения, предназначенную для ввода/редактирования данных об образовательном учреждении
• Разработать страницу с информацией об образовательном учреждении, содержащую следующие данные: название образовательного учреждения, адрес, телефон, email, карта с местом расположения, описанием, списком административного персонала, списком классов с расписанием для каждого класса и указанием контактных данных классного руководителя.
• В административном интерфейсе добавить возможность указать зарегистрированного на портале пользователя, который будет иметь права администрировать данные о конкретном учебном заведении. Для такого пользователя и для администратора портала на странице с информацией об учебном заведении должна отображаться кнопка «Редактировать».
• Вся информация об учебных заведениях должна индексироваться в системе полнотекстового поиска.

Все функциональные блоки будут реализованы в рамках единой технологической платформы ИПП (OS Linux, Python, Django, MySQL).



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

В рамках данной задачи необходимо:
• Заменить текущую поисковую систему на систему полнотекстового поиска Sphynx, аналогичную использующейся на портале ИПП с реализацией подсветки ключевых слов поисковой фразы в результатах поиска.
• Включить поддержку русской и английской морфологии, установить ранкер SPH_RANK_PROXIMITY_BM25. Ранкер SPH_RANK_PROXIMITY_BM25 в первую очередь ранжирует результаты поиска по близости к поисковому запросу (query proximity), а затем - по количеству вхождений ключевых слов запроса в отдельно взятый результат поиска (BM25).
• Добавить логику and or not и инструкцию с языком запросов
• Sphinx позволяет использовать в запросе булевы логические операторы & (и), I (или), ! (не), а также круглые скобки и wildcard «*», которые также поддерживается Sphinx. Добавить на сайт краткую инструкцию о том как пользоваться языком логических запросов.
• Включить в настройках Sphinx файл словаря синонимов. Результаты поиска сортировать по релевантности. При расчете ранга система полнотекстового поиска должна учитывать веса различных полей информационных единиц. Например, поле «Название учебного заведения» должно иметь бОльший вес, чем поле «Описание». Другими словами, вес поля должен соответствовать его значимости. Это реализуется установкой соответствующих значений @weight полям искомых сущностей.

2. Обеспечение размещения зарегистрированными пользователями информационных материалов на сегментах ПРПЮ с организацией экспертизы информационного наполнения;

В рамках данной задачи необходимо:
• Добавить в административном интерфейсе новую роль пользователя – «Главный редактор», обладающую правами на просмотр и редактирование всех информационных единиц на портале, а также правом одобрять или накладывать вето на публикацию в открытом доступе информационных единиц контентными провайдерами. Для пользователя с ролью «Главный редактор» в административном интерфейсе рядом с каждой информационной единицей должен выводится ее статус «одобрено»/«отклонено» и, в зависимости от статуса, кнопка «Одобрить» или «Отклонить». Остальным пользователям отображать только статус.
• Добавить информационным единицам портала (статьям, новостям, файлам, ссылкам) новый статус «одобрено»/«отклонено». Для публичного просмотра посетителям портала будет отображаться только контент со статусом «одобрено».
• Изменить текущую систему публикации информационных единиц на портале с одношаговой (когда материал становится виден пользователем портала сразу после его опубликования контентным редактором) на двух шаговую (когда опубликованный контентными провайдерами материал становится виден посетителям портала только после того, как его одобрит пользователь с ролью «Главный редактор»).
• При публикации контентным провайдером новой информационной единицы, пользователям с ролью «Главный редактор» должен отправляться email со ссылкой на материал, требующий экспертизы информационного наполнения.

3. Организацию предоставления данных по размещению информации от пользователей в разрезе сегментов и типов данных (статьи, новости, анонсы и т.п.);

В рамках данной задачи необходимо:
• В административном интерфейсе портала ПРПЮ реализовать систему журналирования доступа контент-менеджеров к информации с целью её изменения, полностью аналогичную системе журналирования на портале ИПП

Все функциональные блоки должны быть реализованы в рамках единой технологической платформы ИПП (OS Linux, Python, Django, MySQL).

Есть ли спецы готовые взяться за реализацию данного проекта?

GUI » закрытие окна Toplevel » Авг. 15, 2011 14:59:12

Приветствую…
есть главное окно из которого запускаются окна Toplevel…
при закрытии этих окон иногда в консоль вылазиит ЭТО
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python26\lib\lib-tk\Tkinter.py", line 1410, in __call__
return self.func(*args)
File "C:\Python26\lib\lib-tk\Tkinter.py", line 498, in callit
self.deletecommand(name)
File "C:\Python26\lib\lib-tk\Tkinter.py", line 360, in deletecommand
self._tclCommands.remove(name)
AttributeError: 'NoneType' object has no attribute 'remove'
не могу понять..
прога работает на ура…как надо!!
вот начало если нужно
app это self из верхнего окна
def __init__(self, app):
self.app=app
self.root_harm=Toplevel()
self.root_harm.focus_set()
self.root_harm.transient(self.app.root)
self.root_harm.protocol('WM_DELETE_WINDOW', self.close)
self.root_harm.grab_set()

GUI » Вопрос о Tkinter.Text.clipboard_get() » Авг. 12, 2011 15:37:27

Почему многие для доступа к содержимому буфера обмена используют
text = self.txt.selection_get(selection='CLIPBOARD')
вместо
text = self.txt.clipboard_get()
Часто встречаю в примерах первый вариант.

Python для экспертов » Кто работал с PyCUDA? » Авг. 12, 2011 13:28:02

Доброго времени суток…Проблема вот в чем: я устал искать ответы, и, написав вопросы, ждать ответов по моим проблемам работы с CUDA в питоне… Можно сказать слезно прошу напишите, пожалуйста, кто имел дело с этим пакетом.. очень печально, что примеры в вики есть, но там походу авторы все нерусские, контакт с ними не наладишь, да и нужных мне примеров нет. Наверняка же ведь есть люди, кто с этим работал.
Для налаживания контактов оставляю:
Jabber: daemvil.inc@gmail.com
ICQ: 481073926
Ребят, помогите, а?
ЗЫ. Сейчас у меня главная проблема - как передать при вызове ядра не только массивы обрабатываемых данных, находящихся в памяти GPU, но и число типа int, желательно записав его в разделяемую память… если нужно могу исходник дать.

Python для новичков » numpy.delete справка » Авг. 11, 2011 23:25:09

разъясните, пожалуйста, как работает numpy.delete http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html, особенно, как точно понимать параметры obj (в примере 0,1, я догадываюсь что i,0 позволит удалить i-ю строку, но хочется понять все точно):

numpy.delete(arr, obj, axis=None)
obj : slice, int or array of ints

Indicate which sub-arrays to remove.
>>> x
array([[1, 2, 3, 4, 5, 6],
[0, 2, 4, 6, 8, 1],
[1, 2, 1, 2, 1, 2]])
>>> delete(x,1,0)
array([[1, 2, 3, 4, 5, 6],
[1, 2, 1, 2, 1, 2]])

Python для новичков » PIL Задание толщины линий » Авг. 11, 2011 14:20:58

Надо нанести на рисунок несколько зон в виде концентрических окружностей.
Рисую через
 draw.arc((X1,Y,X2,Y2), ang1, ang2, fill=color)
По умолчанию толщина линии 1px, но ее плохо видно. Для arc такой параметр отсутствует. Что-то типа brush для Draw не нашел.
Посоветуйте каким способом можно задать толщину

Python для экспертов » работа с OWA (outlook web app) » Авг. 10, 2011 16:59:56

при попытке удаленно залогинится возвращается страница с ответом. что необходимо включить cookie у браузера
import urllib2,urllib,cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener( opener )
params=urllib.urlencode({
'destination': urlparse.urljoin(self.domain, 'owa/'),
'flags': '0',
'username': username,
'password': password,
'SubmitCreds': 'Log On',
'forcedownlevel': '0',
'trusted': '4',
'isUtf8':'1',
})

f = opener.open( 'http://example.com/login/', params )
data = f.read()
print data
в data возвращается страница с текстом
Please enable cookies for this Web site

при этом OutlookSession в куку записывается

в целом задача заключается в получении списка тасков, контактов, календаря - подскажите, пожалуйста, как лучше это сделать, есть ли какие-то готовые библиотеки для этого

Network » urllib проблема с urlretrieve » Авг. 9, 2011 00:24:47

Для скачки сериала написал скрипт.
Проблема заключается в urlretrieve она скачивает только первую серию, точнее все остальное качаеться без ошибок НО если просмотреть все эти серии то они одинаковые.
П.С Сами по себе ссылки которые генерирует скрипт содержат совершенно разные фрагменты фильма.

Python 2.7

import time
import urllib

save_path = 'E:\Видео + Фильмы\X\\'


#http://ultravideo.in/mp/get/fid/9824/fn/x_files_the_(s2e01).avi


url_path = "http://ultravideo.in/mp/get/fid/9824/fn/"

i = 0x01;

while i <= 25:
if i >= 10:
file_name = "x_files_the_s2e" + str(i) + ".avi"
else:
file_name = "x_files_the_s2e0" +str(i) + ".avi"
urllib.urlretrieve(url_path+file_name,save_path+file_name)
print("Download %s and save to %s",url_path+file_name,save_path+file_name)
i = i + 1



quit()

GUI » py to exe » Авг. 6, 2011 15:42:47

У меня Fedors 14, мое приложение использует Tkinter, либ гугл апи, и еще пару стандартных, как мне создать exe?

Флейм » Требуется Python программист в Днепропетровске » Авг. 5, 2011 16:24:02

Нужен Python программист, имеющий опыт в системной администрации линкуса, на постоянную работу в IT- компанию IskonSoft (Днепропетровск). Мы можем вам предложить отличные условия и интересные проекты!
По всем вопросам пишите: n.sidorenok@iskonsoft.com.ua, skype: n.sidorenok, ICQ: 424161122, 0977278064. HR-менеджер Наталия

Флейм » Ищу программистов для разработки портала на Python +Django » Авг. 3, 2011 15:05:47

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

Python для экспертов » py2exe и cx_freeze некорректная работа » Авг. 3, 2011 14:50:34

Есть GUI приложение с использованием wxPython для Python 2.7
при запуске cx_freeze создается exe-файл, но надписи на кнопках не отображаются.
При запуске с py2exe затребовал дополнительные библиотеки msvcr90.dll
Переписал setup.py

Код Python

from distutils.core import setup
import py2exe
import sys
from glob import glob
data_files = [("Microsoft.VC90.CRT", glob(r'C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\*.*'))]
sys.path.append("C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\redist\\x86\\Microsoft.VC90.CRT")

setup(data_files=data_files, console=['test.py'])
Результат аналогичен работе cx_freexe, надписи на кнопках не появилось.

В чем прикол?

Дело не в библиотеке это точно.
С командной строки программа запускается корректно.
Из заметок, при запуске главной формы, вызывается EVT_SHOW то есть как модальное окно, на котором висит вывод в лог строки.
Так вот при запуске exe сгенеринового py2exe в лог ничего не выписывается. Логично предположить, что мастдайный exe неправильно обрабатывает событие. Кстати на который и происходит прорисовка надписей на кнопках.

Mobile Python » Помогите адаптировать брутфорс. » Авг. 2, 2011 23:00:06

Привет всем!!!
В общем есть приложение-будильник NiceAlarm http://very-soft.com/product/nicealarm и есть брут на питоне. Только заставить работать его не получается т.к. писался он под другое разрешение экрана (сразу говорю что писался не мной и я в питоне О).
Сам процесс следующий: при регистрации появляется два поля для ввода, одно для капчи появляющейся чуть выше, другое для самого кода. Код пятизначный. Требуется чтобы работал на экране 360х640. Может кто нибудь поможет?
Вот листинг:

import appuifw
import e32
import keypress
import os
import string
import appswitch
import graphics
import md5

regkey=[0, 0, 0]

def regkeyset(str):
return map(ord, str[0:3])

def regkey2ascii():
return string.joinfields(map(chr, regkey), "")

def regkeyincr():
regkey[0]+=1
if (regkey[0]>255):
regkey[1]+=1
regkey[0]=0
if (regkey[1]>255):
regkey[2]+=1
regkey[1]=0

def regkey2digit():
return 65536*regkey[2] + 256 * regkey[1]+ 1 * regkey[0]

def imgcomp(img1, img2):
size1=img1.size
size2=img2.size
if(size1 == size2):
#for x in xrange(size1[0]):
for x in xrange(45,75):
for y in xrange(size1[1]):
#for y in xrange(50, size1[1]):
if(img1.getpixel((x, y)) == img2.getpixel((x, y))):
continue
else:
return 0
return 1
else:
return 0

def exit():
appuif.app.set_exit

def sleep(seconds):
e32.ao_sleep(float(seconds))

def sim_key(code1, code2=0):
# keypress.simulate_key(code1, code2)
keypress.simulate_key_mod(code1, code2, 0)
sleep(0.01)

def stopping(key):
if (key == 63497):
os.abort()

def get_app_in_stack(index):
global log
try:
apps = appswitch.application_list(True) # true = include all
# false = no hidden apps
if index >= len(apps):
return u"!_index_error_!"
return str(apps[index])
except:
return u"!_getting_app_error_!"

appuifw.app.exit_key_handler = exit
import keycapture
capturer = keycapture.KeyCapturer(stopping)
capturer.forwarding = 1
capturer.keys = [63497]
capturer.start()
appuifw.note(u'Dlya ostanovki nazhmite BBEPX =>', 'info')

# o?p?ae??? peAc?a??
try:
bmp_file = open("C:\\Data\\Verysoft\\NiceAlarm\\nicealarm17.dat", "r+b")
except IOError, err:
print err.strerror

#appswitch.kill_app(u'X-plore')


buff = bmp_file.read()
regkey=regkeyset(buff)
bmp_file.close()
fl=0
while (regkey2digit() < 99999):
regkeyincr()
try:
bmp_file = open("C:\\Data\\Verysoft\\NiceAlarm\\nicealarm17.dat", "r+b")
except IOError, err:
print err.strerror
bmp_file.seek(0, 0)
bmp_file.write(regkey2ascii())
bmp_file.write(buff[3:])
bmp_file.close()
if get_app_in_stack(0) != u'NiceAlarm':
e32.start_exe('niceAlarm_0x20008998.exe', '', 0)
sleep(1)
sim_key(63554,63554)
sleep(0.05)
img2 = graphics.screenshot()
if (fl == 0):
img1 = img2
fl = 1
else:
if (not imgcomp(img1, img2)):
break
#else:
#appswitch.kill_app(u'NiceAlarm')
sim_key(63555,63555)
sleep(0.01)
sim_key(63555,63555)
sleep(0.01)
e32.reset_inactivity()