psycopg2 возвращает кортеж из строки

Игрался я сегодня с базой на PostgreSQL (v8.3, если кому интересно) из Python посредством psycopg2, но внезапно застрял, да как-то неожиданно. Вылез в оболочку bpythonа и узрел…

>>> cur.execute('''SELECT (parent, level) FROM "MsgElems" WHERE msg_id=1;''')

>>> cur.fetchone()

('(0,1)',)

SELECT возвращает кортеж из строки, именно одной строки. Вот это сюрприз. Ни в Python DBAPI PEP, ни в psycopg docs я ничего не нашёл умного, загрустил уже, но потом в голову пришла гениальная (как обычно) идея:

>>> cur.execute('''SELECT parent, level FROM "MsgElems" WHERE msg_id=1;''')

>>> cur.fetchone()

(0, 1)

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

Пишешь код и видишь результат

Пришла мне тут в голову интересная идея. Нужно написать генератор кода на C++ (по данным, вытягиваемым из базы данных), так что я установил Jinja2, навострил текстовые редакторы и подумал: «А не будет ли круто сразу видеть результат, прямо по ходу написания кода? Зачем мне два монитора, в конце концов — на одном буду писать, а второй пусть результат кажет.»

Читать далее…

Хозяйке на заметку

Кое-что полезное из вынесенных поездок, что хочется записать. «Так, на всякий случай»

  1. Какбыгостиница в Уфе. Дёшево и удобно, идеальный вариант для тех, кому нужно место, чтобы поесть и принять душ. Сайт малоинформативный: проехать можно на автобусе № 1 от ж/д вокзала либо от аэропорта на № 110 (кажется). Ул. генерала Горбатого, 3, ближайшие остановки зовутся «Чайная фабрика» и «Кондитерская фабрика».

  2. Магазин разного рода народных промыслов и сувениров «Беломорские узоры», что в Архангельске, располагается на ул. Шубина, 3 (угол с наб. Северной Двины) и работает до 18:00

  3. Магазин издательства «Правда Севера» там же находится на Новгородском пр., 32 и работает до 17:00. Догадайтесь с трёх раз, почему я запомнил время окончания их работы (-%Е

Philips Xenium E100: отзыв

Решил купить телефон на замену умершему Siemens C60. Поскольку в телефонах ничего не понимаю и ничего от них не требую, решил взять самый простой (пусть звонит и SMS пишет) из Philips Xenium (батарея долго держится, говорят). Купил Philips Xenium E100.

Читать далее…

Satchmo по-русски

Итак, я перевёл-таки Satchmo на русский язык. Самому мне он оказался не нужен, но, надеюсь, кому-нибудь пригодится. Сам перевод брать там.


Ха-ха. В svn-версии перевод на русский был с начала марта, то есть как раз после того, как я решился переводить. Забавно (-%Е

Gentoo: DRM, Radeon/RadeonHD, ATI R6xx/R7xx

Результат часового разбирательства на канале **#radeon**:

  • старые версии drm не создают /dev/dri/* для карт на базе R6xx/R7xx, это норма;

  • версии ядрёного DRM (в ядрах до 2.6.30) не столь стары, как говорят, но всё равно недостаточно новы для этих карт;

  • более того, поддержки этих карт в основной ветке DRM пока тоже нет, таким образом, x11-base/x11-drm для них тоже не годится (похоже);

  • для сборки модулей, поддерживающих эти карты, нужно тянуть исходники из отдельной ветки git (см. Xorg Wiki)

  • для этого есть ebuild из оверлея x11, только не забудьте добавить DRM_LIVE_BRANCH=”r6xx-r7xx-support” к своему /etc/make.conf


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

Разворачиваем боевые действия: возврат предустановленной Windows

ЦеСТ начинает действовать: ЦеСТ намерен бороться с навязыванием OEM-программ Прошу всех заинтересованных принять участие в распространении новости и заполнить форму (если Вы приобретали компьютер с навязанной Вам ОС). —-

Сообщаем, что Ваше обращение принято и зарегистрировано под номером 1

Хо-хо-хо.

Matplotlib

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