Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3483 posts.

Django » FULL OUTER JOIN? » Окт. 18, 2009 00:23:19

Как средствами ORM сделать запрос LEFT OUTER JOIN?

select_related не возвращает записи для которых нет записей в связанных справочниках, т.е. не умеет делать OUTER JOIN.

Python для новичков » cmd из wxWidgets » Окт. 14, 2009 18:25:58

Люди, простите, инет только на работе, пользуюсь в свободное время, то есть времени искать по форуму нет. Собственно, извиняюсь за то, что не удосужился посмотреть, нет ли такой темы.
Хочу в прожке (использую wxWidgets с redirection=None) запустить cmd с некоторыми параметрами, чтобы оно работало вообще не зависимо от моей проги. Никаких пайпов, ничего. Пытался юзать subprocess, explorer запускает как надо, а вот cmd - вызывает незаметно, очевидно, дожидаясь где-то stdin и имея где-то stdout. То есть я ничего не вижу. Если хреначить в самой питоновской консоли, то всё нормально,а в wxWidgets - чёрное окно cmd не появляется, включается механизм перенаправлений.
Скажите, где мне поколдовать? Как получить нормальную cmd, не имеющую ничего общего с моей питопрогой?

Python для новичков » Работа с регэкспами » Окт. 12, 2009 11:43:43

Доброго времени суток!

Есть задача: прочитать текстовой файл и записать в файл output.txt все встреченные слова в алфавитном порядке с частотами их встречаемости. Делал так

import re
mas={}
for string in open(raw_input('Введите имя файла: '),'r'):
words=re.split('\W+|[0-9]|_|',string)
for word in words:
word = word.lower()
if mas.has_key(word):
mas[word]+=1
else:
mas[word]=1
f=open('c:\output.txt','w')
for key in sorted(mas.iterkeys()):
string=key+' '+str(mas[key])+"\n"
f.write(string)
print "Done"
так вот, начальный фрагмент файла output.txt

38157
a 3209
aa 1
aaaaa 1

Откуда берется первая строчка? почему подсчитываются пустые строки?

Django » ManyRelatedManager get ids » Окт. 9, 2009 13:53:41

Вообщем такая ситуация,
-есть две модели.
-Обе смотрят в таблицы на разных базах.
-между ними есть отношение ManyToMany

Я не могу использовать orm фичу по выбору связанных записей model1.model2s.all() (тк запрос использует join двух таблиц которые лежат в разных бд)

Вопрос: как можно используя ManyRelatedManager забрать список id связанного объекта?
(те чтобы запрос затрагивал только одну таблицу связку которая в одной бд.)
Те грубо говоря я хочу достать сначало связанные ид одной таблицы, и потом по ним с другой бд забрать реальные объекты.

Вообщем сейчас это выглядит так:
class m1(models.Model):
m2s = models.ManyToManyField(m2)


def get_m2s(self):
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT m2_id FROM main_m1_m2s where m1_id = %s", [self.id])
rows = cursor.fetchall()
ids = []
for row in rows:
ids.append(str(row[0]))

return m2.objects.filter(id__in = ids)
Упростить можно? хотелось бы от sql избавится..

Django » Отрендерить тег в коде » Окт. 8, 2009 10:42:34

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

Python для экспертов » numpy помогите переписать функцию » Окт. 4, 2009 16:01:03

Собственно, работает, но написана совершенно не в духе Numpy, покажите, пожалуйста, как это должно в нем выглядеть.
import numpy.linalg as linalg    

def find_closest_line(lines, point):
ls = []
for x in zip(lines, lines[1:]):
n = (x[0][1]-x[1][1])*point[0]+(x[1][0]-x[0][0])*point[1]+ x[0][0]*x[1][1] - x[1][0]*x[0][1]
ls.append(abs(n / linalg.norm(x)))
return N.argmin(ls)
lines - массив точек, образующих линию, пример N.array(((-107,51.5),(-31,-72.5),(134,14.5)))
point - точка, пример N.array((21,-44.5))
возвращает индекс ближайшей линии, в данном случае 1.
Есть ли в numpy аналоги zip, map, filter? уж больно обширна документация, глаза разбегаются

Django » Поле BLOB с кастомным character set » Сен. 27, 2009 21:41:18

Черновой вариант блоба:

class BlobField(models.Field):
__metaclass__ = models.SubfieldBase

def db_type(self):
return 'BLOB'

def to_python(self, value):
return value

def get_db_prep_save(self, value):
return value
При сохранении TestBlobModel(bf=open('secundo.exe').read()).save() получаю
DjangoUnicodeDecodeError: ‘utf8’ codec can't decode byte 0x90 in position 2: unexpected code byte. You passed in ………..
И далее много буков.

При этом в базу - сохраняет. И если из базы достать этот файл - он останется неизменным.

Уже вертел и так и сяк, но хочу для, так сказать, общих целей водрузить блоб на службу. Вот только как сделать, чтобы джанго не проверял на соответствие юникоду это поле?

Django » extend Meta params for model » Сен. 25, 2009 21:01:26

Вообщем хочу добавить в модель некоторые свои параметры в описании Meta для моделей.
Вопрос в каком месте лучше расположить код который будет читать эти параметры выполнять нужные действия?

Network » Проблема с классом httplib.HTTPSConnection в Ububntu 8.10 » Сен. 15, 2009 14:01:49

Есть следующая проблемка.
Код примерно следующий (все как книжка пишет =) ):
conn = HTTPSConnection(server)
conn.request('POST',path,body,params)
response = conn.getresponse()
data = response.read()
Делаю HTTPS - соединение через класс httplib.HTTPSConnection на Windows XP SP3 - все нормально.
Делаю то же на Ubunt'е - приходит в респонзе - <html>….HTTP1.1/Bad response</html>.
Причем если делаю коннект через urllib2.urlopen - все работает на обоих системах.

Это баг или есть на линухе чего-то, что я неправильно сделал?

Заранее спасибо за ответ.

Python для новичков » Pygame » Сен. 14, 2009 18:05:05

Предлагаю задавать небольшие вопросы по pygame. :)
И, собсно, сразу мой вопрос - как я понял, спрайты управляются(в смысле контролируются) через pygame.sprite.Group. А можно ли, например прорисовывать каждый спрайт отдельно?

Django » примеры django widgets » Сен. 14, 2009 18:03:41

Доброго времени суток!
Есть в джанго страшно удобная(на мой взгляд) штука - виджеты.
Подскажите, пожалуйста, наиболее употребляемые Вами и примеры(исходники) их использования.
Спасибо большое!

Флейм » Вакансия GUI программист, Москва, Parallels » Сен. 11, 2009 16:01:47

Обязанности:

разработка на C++ графического интерфейса пользователя и программных библиотек для многопользовательского кросс-платформенного приложения, управляющего работой виртуальных машин Parallels;
участие в проектировании архитектуры клиентской части приложения и библиотек программного интерфейса;
участие в проектировании интерфейса и сценариев работы пользователя;
полная занятость, ежедневное присутствие в офисе (работа удаленно исключается);
работа в интенсивном ритме, со сжатыми сроками в большой команде разработчиков в постоянном взаимодействии со смежными командами;

Требования:

опыт разработки ПО – не менее 5 лет (личное участие в разработке кода!),
опыт в разработке GUI приложений не менее 2 лет;
опыт разработки на C++ не менее 3 лет;
уровень владения С++, ООП: эксперт;
обязательно наличие опыта разработки многопользовательских многопоточных приложений для работы в многоплатформенной среде: как минимум: любая Unix-система (Linux, FreeBSD, Mac OS X) + Windows;
опыт использования библиотеки Qt – не менее 1 года;
опыт практического использования XML;
опыт работы в составе группы программистов;
опыт использования систем версионирования (SVN, CVS, проч.) и багтрекинга (Bugzilla, др.);

активное применение методики TTD (test driven development) приветствуется;
знание скриптовых языков (Python) приветствуется;
опыт разработки приложений для Mac OS X (Carbon, Cocoa, Objective C) - большой плюс.

Компенсация и льготы:

размер заработной платы определяется по результатам собеседования (в зависимости от имеющегося у кандидата опыта и профессиональных навыков);
медицинская страховка (включает стоматологическое обслуживание)
бесплатные обеды и кофе брейки;
корпоративный транспорт от ст. м. «Речной вокзал», «Отрадное», г. Долгопрудный.
Большое спасибо за проявленный интерес к Parallels! Присылайте Ваше резюме на адрес innav@parallels.com

Python для экспертов » Графики в масштабе в Matplotlib » Сен. 5, 2009 14:25:48

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

Django » Наследование с Contenttype » Сен. 2, 2009 16:22:58

Есть модель:
class Photo(models.Model):

content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
object = generic.GenericForeignKey('content_type', 'object_id')
image = models.ImageField(upload_to=get_upload_to, max_length=1024)

class Common(models.Model):
# Поля...
photo = generic.GenericRelation(Photo)

class Class_common(Common):
# Поля...

class Class_car(Class_common):
# Поля...
при обращении к модели:
Class_car.objects.get(pk=1).photo.all()
запрос к Photo выглядит примерно так:
SELECT "media_photo"."id",
"media_photo"."content_type_id",
"media_photo"."object_id",
"media_photo"."image",
FROM "media_photo"
WHERE ("media_photo"."object_id" = 1 AND "media_photo"."content_type_id" = 41 )
c content_type_id Class_car(41)

а при запросе:
Class_car.objects.filter(photo__isnull=False)
sql выглядит примерно так:
SELECT DISTINCT T6."id",    
"advert_class_car"."class_common_ptr_id",
FROM "advert_class_car"
INNER JOIN "advert_class_common" ON ("advert_class_car"."class_common_ptr_id" = "advert_class_common"."common_ptr_id")
INNER JOIN "common_common" ON ("advert_class_common"."common_ptr_id" = "common_common"."id")
INNER JOIN "media_photo" ON ("common_common"."id" = "media_photo"."object_id")
INNER JOIN "common_common" T6 ON ("advert_class_car"."class_common_ptr_id" = T6."id")
WHERE ("media_photo"."id" IS NOT NULL AND "media_photo"."content_type_id" = 130 )
Я предпологал что content_type_id будет модели Class_car, то есть 41, а не 130

Если кто-то сталкивался с подобным, то как решалась такая задача

PS. если в Photo вместо Contenttypе использовать ForeignKey(Common, related_name='photo'), то все собственно корректо

Python для новичков » почему getopt.getopt не бросает exception » Авг. 31, 2009 08:36:50

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

Пример кода:

opts, args = getopt.getopt(sys.argv, “ht:i:v”, )
except getopt.GetoptError:
# print help information and exit:
#print str(err) # will print something like “option -a not recognized”
print(__doc__)
sys.exit(2)

print(“test”)

Если запускаю вот так, с несуществующими параметрами, тов се работает:

python.exe script.py –fdasfsd=fds

А, вот так, excepion не резится:

python.exe script.py fdasfsd

(т.е. отсутсвие ‘-’ и ‘–’ воспринимается как то иначе в функции getopt? не могли бы пояснить)

Инструментальные средства разработки » IDE для Zope3 » Авг. 30, 2009 17:06:54

Собственно, работаю Eclipse + Aptana Pydev (есть конечно Aptana Web Studio, но она хоть и на базе то же Затмения, но тормозит очень), в общем - то если настроить то можна с зоупом работать, но…

рылся в Угле, и не нашел ничего специализированного, мелькало какое-то Zope IDE для FF, но проект закрылся.
Может кто чего такого видел/знает/находил - подскажите, киньте ссылки.

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

Python для новичков » Хочу прояснить насчет io » Авг. 26, 2009 15:49:02

Сабжевый модуль, как я понимаю, появился в 2.6 . Что-то вроде сишного iostream. Не очень понял, при вызове, скажем, встроенной open() - вызывается стандартный или теперь уже тот, что в этом модуле? И стоит ли под 2.6 переписывать работу с файлами и потоками под этот модуль? Проясните, пожалуйста, что это такое и с чем едят.

Python для новичков » Произвольный декоратор на print в 2.6? » Авг. 24, 2009 00:34:19

Можно ли назначить декоратор функции, которая уже объявлена?
Можно ли назначить декоратор на команду print, как на функцию?

Django » Счетчик посещений » Авг. 20, 2009 20:02:57

Помогите найти, если такой имеется, счетчик посещений. Мне нужны исходники абсолютно любого, даже самого простого, аналога li.ru