[00:09:52] _lorien: Проклятье, короткая итерация при ближайшем взгляде стала выглядеть длинной!!!
[00:13:30] Муркт: _lorien: ты про итерацию в коде, или итерацию разработки?
[00:13:37] _lorien: последнее :-)
[00:14:00] _lorien: Я решил мутить супер-мега стартап :-)
[00:14:34] _lorien: о, deseb уже неплохо работает
[00:14:55] Муркт: /me уже замутил супер-мега стартап
[00:15:49] Муркт: теперь надо мутить ещё один
[00:15:52] Муркт: а может и не один :)
[00:17:03] _lorien: Мне надо, чтобы бабло было )
[00:17:09] Муркт: всем надо
[00:17:38] _lorien: Жаль, что джанга не генерит для help_text у элементов форм. Мне этого не хватает, чтобы им стили назначать (
[00:17:49] Муркт: похачь
[00:17:59] _lorien: хмхм
[00:18:14] _lorien: !google django newforms class for help_text
[00:18:16] Муркт: мы хачили генерацию форм всегда, потому что родная слишком дубовая
[00:18:17] Большой Лис: _lorien, в форме render перепеиши
[00:18:25] Муркт: да
[00:19:54] Большой Лис: точнее допиши свой варианта типо as_table as_ul etc
[00:20:04] _lorien: хмхм
[00:20:19] Большой Лис: вот например "голый" вариант :)
def as_raw(self):
return self._html_output(u' %(field)s%(help_text)s ', u'%s', ' ', u' %s', False)
[00:20:42] _lorien: точна!
[00:20:54] Муркт: если я правильно помню, тот вот этот _html_output и приходится дописывать, если вдруг надо что-то уж сильно не такое :)
[00:21:08] Муркт: /me подхачивал это год назад и уже забыл детали
[00:22:47] Большой Лис: хз, мне хватало того что "из коробки", там всё в нём промутить можно было
[00:23:50] Муркт: видимо, его с тех пор меняли
[00:24:27] _lorien: as_p => return self._html_output(u'

%(label)s %(field)s%(help_text)s

', u'%s', '

', u' %s', True)
def _html_output(self, normal_row, error_row, row_ender, help_text_html, errors_on_separate_row):

[00:24:46] _lorien: гм, ну это по любому манкипатчинг надо делать, добавлять какой-нить as_cool_p
[00:24:54] Муркт: говорю же, что плохо помню
[00:24:57] Муркт: :)
[00:25:23] _lorien: ладно, пока оставлю это в покое, потом буду украшательствами заниматься )
[00:25:47] _lorien: гм, а для редактирования даты рождения вы что юзаете? )
[00:26:01] _lorien: ето ж надо виджет специальный
[00:26:07] Муркт: !google newforms DateField
[00:26:08] _lorien: мультивиджет, итить его
[00:26:42] _lorien: !google newforms widget DateField
[00:26:50] Муркт: бгага
[00:26:59] Муркт: _lorien: мы ничего не юзаем, но с мультивиджетом тебе придёццо потрахаццо =))
[00:27:09] Большой Лис: совсем недавно в РСС проскакивал как раз нужный
[00:27:13] Муркт: там всё просто, но придётся поэкспериментировать чуток
[00:27:22] _lorien: ну у меня немного опыт есть, я реализовывал как-то мультивиджет для пароля и подвтерждения
[00:27:26] _lorien: а, да и для каптчи делал
[00:27:35] Муркт: круто :)
[00:27:51] Муркт: а я тоже почти год назад делал и тож плохо помню :(
[00:28:54] _lorien: !google site:djangosnippets.org datefield widget
[00:29:30] Муркт: офигенный сниппет, ничо не скажешь
[00:30:30] _lorien: мда..
[00:41:43] _lorien: фак мой мозг: http://djangonaut.blogspot.com/2008/05/django_08.html
[00:41:45] Большой Лис: чо то не могу найти
[00:43:52] Большой Лис: http://djangoapi.matee.net/django.newforms.extras.widgets-pysrc.html
[00:44:36] Большой Лис: django.newforms.extras.widgets.SelectDateWidget
[00:45:08] Большой Лис: и тикет к нету
[00:45:10] Большой Лис: http://code.djangoproject.com/ticket/5917
[00:45:11] Большой Лис: :D
[00:45:42] Муркт: мда
[00:45:46] Муркт: решение было недалеко
[00:45:47] Муркт: =)
[00:46:01] Муркт: всем спокойной ночи
[01:27:40] pit: ghbdtn dctv
[01:27:44] pit: привет всем
[01:28:00] red-agent: hi, bitch
[01:28:19] pit: привет всем
[01:28:37] pit: сам ты шлюшка :)
[01:28:45] pit: да нормально всё
[01:28:58] pit: подсказать не может не кто
[01:29:14] red-agent: bitch=сука
[01:29:22] red-agent: сука!=шлюха
[01:29:41] pit: у меня есть шлюз
[01:29:59] pit: за ним во внутренней локалке
[01:30:07] pit: сервак
[01:30:18] pit: на шлюзе есть апача
[01:30:29] pit: и на внутренней машине есть апача
[01:30:48] pit: как мне виртуалхостами перекинуть запрос
[01:30:52] pit: прокся ?
[01:31:05] pit: апача?
[01:31:11] pit: или ngings
[01:31:22] pit: ngins
[01:31:41] red-agent: nginx
[01:31:43] red-agent: =)
[01:31:58] pit: red-agent: да знаю
[01:32:02] red-agent: я вижу
[01:32:03] red-agent: =)
[01:32:17] red-agent: но это молдавский вариант в любом случае
[01:32:23] pit: это у меня множественное число
[01:32:29] pit: :))))))))
[01:32:43] red-agent: в общем, крути nginx, крути vhosts,rewrite
[01:32:46] red-agent: думай =)
[01:33:47] pit: не хотел я на энгигнсе лобать
[01:33:54] pit: да ладно
[01:35:43] pit: RewriteRule ^/(.*) http://192.168.35.112/$1 [P]
[01:35:57] pit: RewriteRule http://192.168.35.112/
[01:36:05] pit: в виртуал хосте ?
[10:00:55] : This room is not anonymous
[10:00:55] : piranha has set the subject to: Python.SU | Код постить в dumpz.org | Логи: http://jru.eth0.net.ua/ | Хочешь задать вопрос - *просто* задай его!
[10:16:47] mishok13: http://www.explosm.net/db/files/Comics/Kris/scarf.png
[10:18:45] Большой Лис: :D
[10:35:05] mishok13: Оператор диапазона .. формирует интервал с заданными границами:

my @hours = 0..24;
my @minutes = 0..60;

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

my @hours = 0..^24;
my @minutes = 0..^60;
[10:35:14] mishok13: я хуею, дорогая редакция
[10:35:41] mishok13: my $event = "YAPC::Russia 2008";
$event++;
say $s; # YAPC::Russia 2009
[10:35:50] mishok13: я продолжаю хуеть, дорогая редакция
[10:36:02] mishok13: http://perl6.ru/
[10:42:07] tonn: Привет всем. Интерисуют материалы на тему "создание окна средствами ОС (линукс)". Ни кто не встречал?
[10:42:27] mishok13: man xlib
[10:42:36] mishok13: или же используй фреймворк
[10:42:51] xa4a: PyQt
[10:42:53] mishok13: Qt/GTK/tk/fltk
[10:42:55] xa4a: pygtk
[10:43:02] xa4a: wxpython и иже
[10:43:16] mishok13: если совсем лениво, есть биндинги к Gnome/KDE/XFCE
[10:43:38] tonn: плин... пишуже "средствами Ос" либы сторонние не катят...
[10:44:02] mishok13: x.org --> сторонняя либа
[10:44:05] mishok13: чтобы ты знал
[10:44:23] xa4a: у ос линукс нет средств для создания окон
[10:44:29] mishok13: для чего тебе это нужно
[10:44:34] xa4a: разве что написать свой Х
[10:44:42] tonn: mishok13: ну да старонняя... ну не до такой степени как куте и гтк
[10:44:43] mishok13: ы
[10:44:49] mishok13: ебануться
[10:44:54] mishok13: ну так пиши на тк
[10:44:59] mishok13: оно сразу с питоном идёт
[10:45:30] tonn: mishok13: мне нужно прямое управление циклом окна...
[10:45:58] mishok13: цикл окна -- это у нас что?
[10:46:13] mishok13: терминология, конечно, интересная
[10:46:39] tonn: mishok13: где идет обработка сообщений, и запуск отрисовки
[10:47:26] mishok13: о_О
[10:47:40] tonn: О_о
[10:47:46] mishok13: тебя интересует, как именно x.org это делает?
[10:48:15] mishok13: я может чего не понимаю, но ты python-xlib пробовал?
[10:48:48] tonn: mishok13: гхм... вот его я и исчу =))
[10:48:57] mishok13: пиздец
[10:49:02] mishok13: чем ты его ищешь?
[10:49:26] mishok13: sudo aptitude install python-xlib
[10:49:51] tonn: покрайней мере мне так кажеться что именно хлиб мне нужен
[10:50:04] wiz: easy_install xlib
[10:50:24] tonn: mishok13: под СуСЕ в репах стандартных его нет =(
[10:50:36] mishok13: это меня ебсти должно?
[10:50:40] mishok13: найти всё можно
[10:51:06] mishok13: http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/python-xlib
[10:51:26] mishok13: ftp.opensuse.org/distribution/SL-OSS-factory/inst-source/suse/i586/python-xlib-0.14-47.i586.rpm
[10:52:02] tonn: mishok13: спс
[10:52:17] tonn: мне нужно было только название =)
[10:52:18] wiz: !google python xlib rpm
[10:52:39] tilarids: ну, и кто мне говорил, что в С++ непонятные сообщения об ошибках?
[10:52:49] tilarids: Хаскедь круче всех
[10:52:54] tilarids: *хаскель
[10:53:35] wiz: Perl 6 это прям антипитон какой-то
[10:53:45] wiz: "Операторы повтора x и xx"
[10:56:24] Большой Лис: а ххх нет там?
[10:56:24] mishok13: tilarids, а кто говорил, что в хаскеле понятные описания ошибок?
[10:56:24] Большой Лис: хотя чо, весь перл сплошное ххх
[10:56:24] wiz: угу
[10:56:24] wiz: хотя рубисты будут довольны
[10:56:24] wiz: чемпионат по обфускации блин
[10:56:24] mishok13: хуя
[10:56:24] mishok13: рубисты как раз за DRY
[10:56:24] mishok13: (уже)
[10:56:24] wiz: они вообще синтаксические шлюхи
[10:56:24] _lorien: http://brainslugs.blogspot.com/2008/05/mapreduce-apache-couchdb.html
[10:56:24] Большой Лис: :D
[10:56:24] mishok13: :)
[10:56:24] tilarids: mishok13: да это я ругаюсь. Никто не знает, есть где русскоязычные конфы по функциональным яп? (например, по хаскелю). А то мне стыдно такие вопросы задавать буржуям
[10:56:24] wiz: haskell@conference.jabber.ru
[10:56:24] mishok13: tilarids, во-первых, нехуй стыдиться
[10:56:32] mishok13: во-вторых, виз дал ссылку
[10:57:19] tilarids: спасибо
[10:57:27] wiz: не факт что там кто-то есть (=
[10:57:41] wiz: о, есть (8
[10:58:28] _lorien: есть канал #haskell на c.j.r, но чтобы тудай зайти надо на какой-то вопрос ответить
[10:59:02] wiz: угу. только некому
[10:59:13] wiz: adept has set the subject to: клуб любителей (молчать о) Haskell | Спасибо dottedmag за жилплощадь для ботов | чтобы получить "голос" - ответьте на вопрос testbot-а | чтобы ответить на вопрос - читайте tutorial-ы на www.haskell.org | Чтобы читать туториалы - надо знать английский язык | Тут не курсы английского языка
[11:00:05] tilarids: тю, грубо как. Туториалы читать предлагают...
[11:00:11] mishok13: wiz, там есть как минимум один сотрудник компании, в которой я работаю:)
[11:00:50] mishok13: tilarids, я тебе говорю, спроси на фриноде
[11:00:56] mishok13: там все очень адекватные
[11:01:06] mishok13: скажи, мол "я нюб, нужна помощь"
[11:01:09] mishok13: и валяй вопросы
[11:01:17] mishok13: можешь сказать, что есть опыт с питоном
[11:01:20] Большой Лис: CouchDB is written in Erlang, but can be easily accessed from any environment that provides means to make HTTP requests.
[11:01:24] Большой Лис: ох йопта
[11:15:21] Большой Лис: Checked out revision 658590.
[11:15:25] Большой Лис: окуеть
[11:16:17] wiz: o_O
[11:16:20] wiz: коуч?
[11:16:40] wiz: http://hackety.org/2007/08/10/myCompleteListOfSubstitutePhrasesForTheActWeNowKnowToBeMonkeypatching.html
[11:17:31] Большой Лис: да
[11:20:51] wiz: ой
[11:21:04] wiz: /me уронил сайт хацкелистов (=
[11:21:04] Большой Лис: http://code.google.com/p/couchdb-python/
[11:22:33] Большой Лис: горизонтальное масштабирование - это помоему размазывание данных по серверам, а не полное реплицирование
[11:22:35] Большой Лис: ага?
[11:23:19] wiz: они оба - горизонтальное вроде
[11:28:27] Большой Лис: вертикальное масштабирование, когда хостом выступает отдельная машина, вычислительные мощности которой наращиваются по мере необходимости, и горизонтальное масштабирование, когда вычислительная система состоит из группы однотипных серверов потребительского класса, работающих совместно.
[11:28:33] Большой Лис: ага, вот оно чо
[11:32:20] wiz: http://twogre.aenor.ru/~wiz/python.png
[11:35:00] mishok13: и чо?
[11:35:19] mishok13: де твистед?
[11:35:36] mishok13: где pp и pyprocessing?
[11:35:46] wiz: а куда их цеплять?
[11:37:50] mishok13: поддержка мультипроцессорности?
[11:38:35] wiz: многозадачности
[11:39:01] mishok13: где работа с БД?
[11:39:07] mishok13: SA тот же самый
[11:39:29] mishok13: где PIL блядь
[11:40:04] wiz: .kdi это чей формат майндмапов?
[11:42:15] _lorien: !google kdi file format
[11:42:23] maniac: wiz, а ты какой софт для майндмапов пользуешь?
[11:42:35] wiz: вот я и не помню уже (=
[11:42:43] maniac: wiz, KDissert
[11:42:44] wiz: там файл 2006м годом датирован
[11:42:52] wiz: наверно
[11:42:58] maniac: точно
[11:43:02] maniac: гугль не врет
[11:43:03] maniac: НИКОГДА
[11:43:22] mishok13: sympy еще можно
[11:45:56] Большой Лис: wiz, а чо это вообще за картинка:
[11:45:57] Большой Лис: ?
[11:46:14] wiz: а я сам уже хз
[11:46:21] Большой Лис: :)
[11:46:22] _lorien: Some things that python can do.
[11:46:42] wiz: нашёл у себя в барахолке
[11:47:19] wiz: вроде какого-то доклада кусок
[12:09:10] _lorien: $ ack \\\
test.py
23: assert u'Я был в 1 городе и 1 стране' ==\
блин, меня раздражает такое использование ack :-/
[12:10:46] wiz: ack это типа грепа?
[12:11:49] _lorien: ага, тока по умолчанию рекурсивен и выводит данные красиво
[12:12:12] _lorien: и не ищет в .svn
[12:13:03] _lorien: точно ;-)
[12:13:56] wiz: "Shipment Confirmation for your order 447196 from Sun Microsystems" oO
[12:14:01] wiz: заикой сделают
[12:15:43] wiz: оказалось всего лишь LiveCD с соляркой (8
[12:15:57] _lorien: хм, чё-то nose выдаёт непонятные ошибки в py2.5, вернее код, Запускаемые в nose, модули не может найти в текущей директории
[12:16:44] _lorien: !google nose python2.5 broken tests no module
[12:19:41] _lorien: http://nose.python-hosting.com/ticket/112
[12:20:03] wiz: silent_bot, запомни правильную сцылко суко
[12:20:46] wiz: Ticket #112 (assigned) Mon Dec 11 10:46:06 2006
[12:20:48] wiz: мде
[12:25:46] _lorien: хехе, просто мне гента какую-то стару версию нозы поставила
[12:26:20] _lorien: в 0.10 уже нет этой ошибки
[12:45:48] wiz: у кого-нибудь ещё гуглеридер сдох?
[12:46:03] Муркт: а как он должен сдохнуть?
[12:46:09] wiz: Sorry, an unexpected condition has occurred which is preventing Google Reader from fulfilling the request.
[12:46:11] Муркт: жив
[12:46:21] Муркт: только что рефрешнул, появилась новая новость
[12:47:02] _lorien: а я чё-то не осилил google reader - клиент liferea пользую
[12:47:07] wiz: он какбе говорит мне - работать сцуко!
[12:48:02] Большой Лис: у меня тоже живой
[12:49:05] Большой Лис: _lorien, осиль, реально палутшЭ чем десктопные клиенты (потому что и дома и на работе и ещё хрензнает где, всегда есть доступ с своим фидам)
[12:49:40] mishok13: я sage пользуюсь
[12:49:48] mishok13: в фф
[12:49:59] wiz: Большой Лис, и они синхронизированы
[12:55:08] _lorien: Большой Лис, проблема в том, что я работаю дома
[12:55:38] _lorien: хотя подумываю снять квартиру рядом с той, где я живу )
[12:55:45] _lorien: чтобы там работать
[13:00:47] Большой Лис: wiz, угуг :)
[13:00:47] Большой Лис: с другой стороны в оффлайне не посмотриш
[13:00:47] mishok13: гыгы
[13:00:49] Муркт: Из лекций по дифференциальной топологии и римановой геометрии:
"Ёж причесанный, если все иголки идут по касательной. Только нечетномерный ёж поддается причесыванию"
[13:01:03] wiz: ы
[13:01:32] _lorien: This feature enables you to read your 2000 most recent items even when your computer is not connected to the internet.

To use the offline features of Google Reader, you will first need to install the Google Gears plug-in for your browser.
Before you begin:

This installation requires that you restart your browser, so we recommend you close all other windows before you begin.
[13:01:33] Муркт: нечётномерный ёж - это пяць
[13:01:44] wiz: это 1, 3, 5 и так далее
[13:02:54] _lorien: This installation requires that you restart your browser, so we recommend you close all other windows before you begin.
Гмгм.... мне это жутко сообщение от microsoft напоминает =)
[13:04:11] Большой Лис: Google Gears 0.3.14.0 не может быть установлено, так как оно не совместимо с Firefox 3.0.
[13:04:13] Большой Лис: писец
[13:05:43] _lorien: гм, чё-то гридер увидел только три фида из моего opml листа, сделанного в liferea
[13:07:03] Большой Лис: ое, ое, я замутил cool пагинатор :)
[13:07:17] Большой Лис: который работает в паре с render_to
[13:07:38] _lorien: я просто давно себе примутил @paged декоратор
[13:07:43] wiz: http://b23.ru/yc0
[13:07:44] Большой Лис: типо такого

@render_to('all-posts.html')
@paginate
def main(request):
posts = Post.objects.all().select_related()
return {'posts': posts}
[13:07:59] Большой Лис: _lorien, гм
[13:08:04] Большой Лис: у меня тоже декоратор :)
[13:08:16] _lorien: http://dja.pydev.ru/browser/dja/site/decorators.py#L23
[13:09:42] _lorien: Большой Лис, а откуда paginate знает, какая из переменных - это список объектов? Или у тебя нельзя больше одного элемента в dict передавать o_O
[13:09:55] Большой Лис: _lorien, можно :)
[13:10:05] _lorien: тогда первый вопрос )
[13:11:09] Большой Лис: ща покажу
[13:11:36] Большой Лис: http://dumpz.org/1195/
[13:15:55] _lorien: имхо, это не pythonic... всегда paginate_by и ниибёт )
[13:16:50] Большой Лис: в смысле "всегда"?
[13:17:07] _lorien: for key in output:
if isinstance(output[key], QuerySet):
paginate_by = key
object_list = output[paginate_by]
break
это накладывает ограничения на выдачу нескольких QS, надо чтобы нужный был в начале.... а у dict сортировки нету, кстати
[13:17:32] Большой Лис: если несколько QS то указывай ручками уже тогда
[13:17:33] _lorien: всегда, значит, что никаких if isinstance(output[key], QuerySet):, а просто всегда юзать paginate_by ключ, для передачи пагинируемого QS :-)
[13:18:24] Большой Лис: та ну наку
[13:18:29] _lorien: я paged_qs юзаю ключ + в параметре декоратора можно указать имя, которые получит переменная с порезанным QS
[13:18:49] Большой Лис: _lorien, часто ты возвращаешь из вюьхи больше однойго QS?
[13:18:58] _lorien: нет, не часто
[13:19:19] Большой Лис: тогда то как ты мутишь не DRY :)
[13:19:45] _lorien: почему?
[13:20:16] Большой Лис: потому что постоянно долбишь paginate_by ключ
[13:20:47] Муркт: можно сделать опциональный ключ
[13:21:10] Муркт: если ключа нет - берём первый попавшийся запрос, если есть - берём, какой сказали
[13:21:22] Большой Лис: Муркт, так я так и сделал
[13:21:29] Большой Лис: if isinstance(output[key], QuerySet):
[13:21:33] Муркт: так я код не смотрел
[13:21:47] Муркт: прочёл только текст что вы написали :)
[13:21:55] wiz: http://www.youtube.com/watch?v=Qh10lMniPIQ
[13:22:17] Муркт: Большой Лис: я бы только назвал ключ не paginate_by, а _paginate_by (или просто _paginate)
[13:22:26] _lorien: не знаю, мне не нравится способ лиса :-) Мне нравится, что у меня чётко всегда paged_by ключ юзается :-0
[13:22:52] Муркт: Большой Лис: потому что мало лич что захочется передать в темплейт, а вот начинающиеся с подчёркивания переменные там использовать нельзя.
[13:23:32] Большой Лис: мысль
[13:26:56] mishok13: wiz, рулезы
[13:27:07] mishok13: правда много методов для киева уже не релевантны
[13:27:18] wiz: напоследок жесть (=
[13:45:07] Большой Лис: lol
[13:48:59] Большой Лис: гм
[13:49:23] Большой Лис: а есть гденибудь pep как докстринги оформлять?
[13:49:43] slav0nic: в рер8 же есть
[13:49:51] _lorien: !google python pep docstring
[13:50:11] slav0nic: 216 глянь
[13:51:24] slav0nic: нашёл в don't do мой любимый способ оформления))
[13:53:47] mishok13: аннотации в докстринге, что-ли?
[13:53:55] slav0nic: а гвидо 8 пробелов юзает, наверно диоганаль у его моника поболе 19 )
[13:54:34] mishok13: slav0nic, где он 8 пробелов юзает?
[13:54:51] wiz: в каждом чётном блоке
[13:54:53] slav0nic: в своём последнейм творении на гугл апп писаном
[13:54:54] slav0nic: там 8
[13:55:56] slav0nic: щапоищу
[13:56:59] mishok13: ну, в принципе, всё просто обьясняется
[13:57:20] mishok13: это попытка перенести уже существуещее приложение с рельсов перфорса
[13:57:29] mishok13: в оригинале стопудов было 8 пробелов
[13:57:32] slav0nic: http://codereview.appspot.com/
[13:57:37] mishok13: поэтому гвидо так и оставил
[13:57:41] slav0nic: тут по 0
[13:57:44] slav0nic: *8
[13:58:11] mishok13: я, кстати, не нахожу ссылку на исходники :)
[13:58:38] slav0nic: у меня там 404 чёт)
[13:58:42] slav0nic: по старой ссылке
[13:58:46] mishok13: а, нашел
[13:58:50] Большой Лис: _lorien, а твой пагинатор мутить такие штуки? http://www.thehandicrafts.net/blog/ (внизу гляди)
[13:59:46] _lorien: Большой Лис, да, только это уже не пагинотор, это template tag :-)
[14:02:25] Большой Лис: ну так они в паре работают
[14:02:25] _lorien: http://dja.pydev.ru/browser/dja/site/templatetags/site_extras.py#L24
[14:02:25] Большой Лис: гг
[14:02:25] _lorien: Большой Лис, в паре, но фишка в том, что этот template tag может и от generic views работать, в которых встроенная пагинация
[14:02:25] mishok13: slav0nic, я вижу по 2 пробела
[14:02:25] Большой Лис: я тоже назвал get_params :)
[14:02:25] mishok13: но никак не 8
[14:02:25] slav0nic: ну де-то было 8 )
[14:02:25] _lorien: мой старый код, щас бы я так уже на написал, наверное:
get_params = '&'.join(['%s=%s' % (x[0],','.join(x[1])) for x in
48 context['request'].GET.iteritems() if not x[0] == 'page'])
[14:02:25] Большой Лис: ага, мясцо :)
[14:02:25] mishok13: if not x[0] == 'page'
[14:02:26] mishok13: этчозахуйня, если не секрет
[14:03:20] Большой Лис: раз уже request.GET - это QueryDict, то будем этим наглдо пользоватся :)

get = request.GET.copy()
if get.has_key('page'):
get.pop('page')
output['get_params'] = get.urlencode()
[14:03:59] mishok13: 'page' in get
[14:04:17] mishok13: вместо has_key
[14:04:53] Большой Лис: а чем has_key плох?
[14:05:11] mishok13: a.has_key(k) Equivalent to k in a, use that form in new code
[14:05:27] Большой Лис: понятно
[14:06:06] mishok13: и еще
[14:06:13] mishok13: a.pop(k[, x]) a[k] if k in a, else x (and remove k)
[14:06:20] slav0nic: >>Botan is a C++ library which provides support for many common cryptographic
operations
гы
[14:06:32] mishok13: просто get.pop('page')
[14:07:30] mishok13: а еще лучше del get['page'] в try ... except засунуть :)
[14:08:12] Большой Лис: mishok13, у тебя какой петон говоришь?
[14:08:15] Большой Лис: 3к
[14:08:24] mishok13: 2.5
[14:08:27] Большой Лис: D.pop(k[,d]) -> v, remove specified key and return the corresponding value
If key is not found, d is returned if given, otherwise KeyError is raised
[14:08:48] mishok13: http://docs.python.org/lib/typesmapping.html
[14:09:29] mishok13: get.pop('page', None), если жалко в трай-блок засовывать
[14:09:39] Большой Лис: ну такида
[14:10:32] mishok13: в 2.3 тоже вроде так работает
[14:10:49] Большой Лис: у меня 2.5.1
[14:10:53] Большой Лис: везде
[14:11:00] _lorien: > get.pop('page', None), если жалко в трай-блок засовывать
None не нужен, он будет по умолчанию
[14:11:33] _lorien: mishok13: if not x[0] == 'page'
mishok13: этчозахуйня, если не секрет
ну.. говорю же, старый код =)
[14:11:56] mishok13: так оно ж никогда не выполнится, условие-то
[14:12:05] mishok13: _lorien, не кури
[14:12:07] mishok13: :)
[14:12:25] _lorien: гм, почему не выполнится
[14:12:28] mishok13: >>> {}.pop(1)
Traceback (most recent call last):
File "", line 1, in
KeyError: 'pop(): dictionary is empty'
[14:12:55] mishok13: потому что я сомневаюсь, что False или True когда либо будут равны 'page' :)
[14:13:08] mishok13: ахбля
[14:13:20] mishok13: пересидел в си, звыняйте
[14:13:31] _lorien: )
[14:13:47] _lorien: я уже хотел логами интерактивной консоли кидаться )
[14:14:17] mishok13: забыл про синтатик шугар питоновский
[14:14:38] mishok13: почему, правда, не != просто :)
[14:14:39] _lorien: if not x[0] == 'page'
но щас я просто пишу x[0] != 'page'
)
[14:14:55] _lorien: ну, я это и имел в виду, когда писал
> ну.. говорю же, старый код =)
)
[14:15:15] Большой Лис: ужос :)
[14:15:17] mishok13: :)))
[14:16:07] Arrest: эй! а где логи? :)
[14:16:29] wiz: там --->
[14:17:01] Большой Лис: или там ^^
[14:17:06] Arrest: там - это где?
[14:17:08] mishok13: или тута .
[14:17:21] _lorien: а правда, где логи?
[14:17:33] _lorien: в субже ссылка на старые логи
[14:17:44] _lorien: http://jru.eth0.net.ua/pythonua@conference.jabber.ru/2008/5/
[14:18:07] Большой Лис: ↓
[14:18:36] mishok13: ну так
[14:18:44] mishok13: xa4a занимается ботом
[14:18:50] Большой Лис: ϖ = ϖ
[14:18:52] mishok13: он и ссылочку должен дать :)
[14:18:53] Большой Лис: жопа какая то
[14:19:13] _lorien: silent_bot, гони логи, сцукко
[14:19:33] Большой Лис: ...но сало надо перепрятать
[14:19:35] Большой Лис: :D
[14:19:52] Arrest: silent_bot, where are th f*cking logs?
[14:20:01] Arrest: O_O
[14:20:39] _lorien: silent_bot, where do you store the fooking logs?
[14:22:12] _lorien: !google формат libpcap это как? pythonua
[14:22:36] Arrest: !help
[14:22:50] _lorien: !google pythonua@conference.jabber.ru logs
[14:22:57] _lorien: o_O
[14:22:58] Arrest: о!
[14:23:13] mishok13: я не могу без слез на курс доллара смотреть
[14:23:21] mishok13: /me рыдает
[14:26:23] Большой Лис: mishok13, поэтому зряплату надо получать в еврах :)
[14:26:34] mishok13: Большой Лис, охуенно
[14:26:41] mishok13: скажи это *им*
[14:26:42] mishok13: :)
[14:26:55] mishok13: зарплату идеально в гривнах получать
[14:26:56] Большой Лис: бросай их
[14:26:59] Большой Лис: тыж давно собирался
[14:27:07] Большой Лис: или это уже новая работа?
[14:27:13] mishok13: да вот меня уговорила девушка
[14:27:19] mishok13: чтобы отпуск не накрылся
[14:27:54] Большой Лис: http://devnews.ru/2008/05/20/izuchat-produkty-microsoft-mozhno-budet-v-internet-kafe/
[14:27:58] Большой Лис: ы
[14:28:02] mishok13: короче, до конца лета -- а дальше нахуйнахуй от доляра
[14:28:33] mishok13: пиздец, гениальный маркетинг
[14:28:39] slav0nic: )
[14:28:54] mishok13: чтобы так кто-нибудь линукс толкал
[14:29:03] mishok13: разве что голубой гигант
[14:29:10] Большой Лис: так линукс и так шаровой
[14:29:13] gigimon: привет
[14:29:19] mishok13: и то, они так только в серверном сегменте делают
[14:30:34] _lorien: Большой Лис, шаровый, шаровый, тока в инет-кафе будут windows стоять :-/
[14:31:15] mishok13: Большой Лис, а толку?
[14:31:26] mishok13: грамотный маркетинг ведет к популярности
[14:32:09] mishok13: вот рост популярности линукса сейчас упирается в отсутствие маркетинга
[14:33:46] mishok13: http://www.codinghorror.com/blog/archives/001119.html
[14:35:30] Большой Лис: http://voituk.kiev.ua/2008/05/21/how-google-looking-employee/
[14:37:07] mishok13: http://www.tnx.nl/php
[14:39:02] mishok13: Большой Лис, боян
[14:39:08] mishok13: :)
[14:42:44] slav0nic: http://code.google.com/p/pywebman/
хы, ща поковыряемс что это за чудо
[14:43:34] slav0nic: мде 15кб смущает
[14:44:07] mishok13: а что, это много?
[14:44:16] Большой Лис: Дебиан (или его грязные копии ;)
[14:44:17] Большой Лис: хыхы
[14:44:31] mishok13: нечистые :)
[14:44:38] Большой Лис: не верные
[14:44:41] Большой Лис: :)
[14:44:44] mishok13: редхат и его нечистые копии
[14:44:55] mishok13: SLED и его нечистые копии :)
[14:45:08] mishok13: гента и ее нечистый арч
[14:47:19] _lorien: а что, в textile нельзя урл сделать активным?
[14:47:32] wiz: каким?/
[14:47:37] _lorien: http://ya.ru --> http://ya.ru">http://ya.ru
[14:48:10] wiz: / добавь в конце
[14:48:42] _lorien: ну и не превратился он
[14:49:02] wiz: у меня превращается
[14:49:28] mishok13: вы бля, фокусники
[14:50:15] _lorien: wiz, может быть в TODO basecamp и не должно превращаться, хз
[14:52:56] xa4a: мх
[14:53:23] Большой Лис: :)
[14:56:09] _lorien: судя по логам, кто-то не сделал html escaping =)
[14:56:33] Большой Лис: гым
[14:56:35] Большой Лис: ;)
[14:56:54] wiz: q:
[14:56:59] _lorien: или escape или пропуск каждой мессаги через BeautifulSoup, чтобы тэги закрывались )
[14:57:00] wiz: так. а где логи? (=
[14:57:08] Большой Лис: http://xa4a.org.ua/logs/pythonua@conference.jabber.ru/
[14:57:32] Большой Лис: бугага
[14:57:33] mishok13: /me ржет
[14:57:34] Большой Лис: работает
[14:57:37] mishok13: PREVED!
[14:57:37] wiz: ыыы
[14:57:39] mishok13: :)
[14:57:42] xa4a: :)
[14:58:11] mishok13: xa4a, намек понятен?
[14:58:16] xa4a: дадада
[14:58:34] mishok13: гы, жесть
[14:58:44] tilarids: Радует то, что если кто напишет какую-нибудь ерунду, то это заметят
[14:58:46] tilarids: :)
[14:59:30] wiz: чорт.. картинко не грузитсо
[14:59:53] wiz: так
[14:59:55] wiz:
[15:00:08] wiz: оооо
[15:00:32] mishok13: чото я не вижу, чтобы тег закрылся
[15:00:37] mishok13:
[15:00:52] wiz: ''
[15:00:52] mishok13: тест
[15:00:55] wiz: всё пропало
[15:01:05] mishok13: ха
[15:01:15] mishok13: там видимо два тега успели открыть
[15:01:32] : This room is not anonymous
[15:01:32] : _lorien has set the subject to: Python.SU | Код постить в dumpz.org | Логи: http://xa4a.org.ua/logs/pythonua@conference.jabber.ru/ | Хочешь задать вопрос - *просто* задай его!
[15:01:42] wiz: (8
[15:04:46] mishok13: ты чо творишь?
[15:04:46] Большой Лис: хехе
[15:04:46] wiz: вотгад
[15:04:46] xa4a: хм.. чё-то у мя сервак ене отвечает)
[15:04:46] wiz: Hijack
[15:04:46] wiz: кстати невзлетит
[15:04:46] Большой Лис: http://blog.pittockhq.com/hitler_doll.jpg
на линуса слегка смахивает
[15:04:46] xa4a: эгм.
[15:04:46] wiz: он http:// в ссылки заворачивает
[15:04:46] xa4a: о
[15:05:36] Arrest: за что вы над логами издеваетесь?
[15:06:39] _lorien:

ФАК МОЙ МОЗГ


[15:07:43] : This room is not anonymous
[15:07:43] : _lorien has set the subject to: Python.SU | Код постить в dumpz.org | Логи: http://xa4a.org.ua/logs/pythonua@conference.jabber.ru/ | Хочешь задать вопрос - *просто* задай его!
[15:08:48] xa4a: </html>
[15:08:52] Большой Лис: :D
[15:11:14] wiz: <script>document.write('<img src="'+ unescape('http%3A//upyachka.ru/img/up4kman.gif')+'">')</script>
[15:11:37] wiz: злые вы ):
[15:12:24] Arrest: %35
[15:12:38] wiz: :
[15:12:41] wiz: а что?
[15:12:59] Arrest: &gt;
[15:13:25] xa4a: там было задействовано cgi.escape так что можно у себя тестить ;)
[15:13:51] Arrest: /me закрыли доступ к любимой игрушке(((
[15:13:57] Arrest: %20
[15:26:54] wiz: http://www.ljplus.ru/img4/t/e/tebe_interesno/brknpxls.jpg
[15:30:42] wiz: http://www.segodnya.ua/news/1029102.html
[15:35:48] Большой Лис: wiz, гым
[15:36:01] Большой Лис: предсметрная агония?
[15:36:02] _lorien: http://www.ljplus.ru/img4/t/e/tebe_interesno/brknpxls.jpg
страшно, первую секунду )
[15:36:15] _lorien: чё-т у неё лицо сумасшедшей
[15:37:23] Большой Лис: камент > А газ получем от поедания Гороха вообщее дешевый будет экономия "И в животе повно и в штанах тепло".
[15:37:25] Большой Лис: :D
[15:41:53] xa4a: хм. а это ведь нормально, что мне хочется разделить вьюхи для ajax-отображения и ajax-сабмита одних данных, вместо того, чтобы объединить их в одну с проверкой метода get/post ?
[15:42:37] wiz: xa4a, нет. сходи к доктору
[15:42:53] xa4a: спасибо за понимание
[15:44:02] xa4a: а то вот в джанго-ажакс примерах многих объединено в одном месте, там эта же вьюха и не-ажакс отрабатывает
[15:44:57] wiz: и правильно
[15:45:01] wiz: код то одинаковый
[15:45:10] _lorien: xa4a, а в чём проблема? Если запрос пришёл из AJAX выдавай данные завёрнутые в AJAX - данные, которые иначе бы ушли в render_to
[15:45:17] _lorien: * завёрнутые в JSON
[15:45:31] xa4a: изначально вопрос про отдачу данных/сабмит данных
[15:45:50] _lorien: аа
[15:46:19] _lorien: самбит кем и куда?
[15:46:53] wiz: <"Это водоросли, которые растут в трубах и даже не касаются земли"
это случайно не про российский газопровод речь?>
[15:46:54] wiz: гг
[15:47:06] xa4a: ажакс запросил данные, их ему отдали. потом этот же ажакс хочет эти данные, изменив, засабмитить
[15:47:40] _lorien: :-( я такое не делал
[15:47:42] xa4a: читай "админка"
[15:47:48] _lorien: это ты не формы в ajax заварачиваешь, случайно?
[15:48:03] xa4a: хм...
[15:48:04] xa4a: похоже
[15:48:35] _lorien: я подумывал сделать декоратор для view работающих с формами, чтобы они целиком html формы отдавали в браузер в случае ajax
[15:48:40] _lorien: и там просто эту форму показывать
[15:48:58] _lorien: динамически... стару убивать, новую показывать
[15:49:21] xa4a: хм.. ну у меня есть нарисован список объектов и форма- одна на всех.
[15:49:37] xa4a: так что гонять в аяксе форму - нерентабельно
[15:50:19] xa4a: ок. пусть будут пока отдельные вьюхи на get и post
[15:50:31] _lorien: хотя можно конечно только error выдавать
[15:50:41] _lorien: если форма не изменяет данных сама в случае ошибки
[15:50:52] _lorien: гм
[15:50:58] _lorien: собсно я так формы и обрабатывал
[15:52:37] _lorien: http://dja.pydev.ru/browser/dja/site/forms.py#L19
правда стороннему трудно понять, что там написано, думаю
[15:52:48] _lorien: я сам уже не понимаю, судя по докстрингу =)
[15:54:37] mishok13: _lorien, ты сократить код не хочешь?
[15:54:38] wiz: http://img139.imageshack.us/img139/7853/pict0095vb9.jpg
[15:54:43] _lorien: mishok13, это старый КОД!
[15:54:47] _lorien: я сам в ахуе )
[15:54:57] _lorien: хотя, какой старый, я ж его ща и использую :-/
[15:55:01] _lorien: хочу ;-)
[15:55:04] mishok13: хм...
[15:55:07] mishok13: ну тогда ок
[15:55:10] mishok13: прощу тебя
[15:55:16] mishok13: (в этот раз)
[15:55:28] _lorien: thank you ,thank you, thank you
[15:55:36] _lorien: I will not dissapoint you!
[15:55:55] _lorien: * disappoint
[15:57:25] _lorien: повторилась старая история, хотел сделать единую библиотеку, но оказывается, что часто надо включать части этой библиотеки отдельно в проект, часть написанных функций просто не использую, функциональность добавлялась постепенно, без продуманного планирования, поэтому получается огромная дурно пахнущая куча гавнакода на python :-)
[15:57:47] xa4a: дада там get_trigger = kwargs.pop('get_trigger', False)
[15:57:56] _lorien: угу )
[16:07:14] _lorien: mishok13, а.. ты уже в гугле? ^_^
[16:07:14] mishok13: хм
[16:07:14] mishok13: нет :)
[16:07:14] mishok13: XP сказали поднабраться
[16:07:14] mishok13: :)
[16:07:14] _lorien: хех
[16:07:14] _lorien: а там много платят или это секрет?
[16:07:14] mishok13: _lorien, там платят выше средних зарплат
[16:07:14] mishok13: но это секрет
[16:07:14] mishok13: что-то этим peak.rules подозрительно простые
[16:07:14] _lorien: хм, ну средние зарплаты в европе и, скажем, России - это не одно и то же, думаю
[16:07:14] mishok13: *эти
[16:07:14] mishok13: _lorien, естественно
[16:07:14] mishok13: в Москве платят больше чем в среднем по Москве
[16:07:19] mishok13: и так для любого города
[16:07:53] mishok13: если мы скажем, что в Лондоне средняя зарплата Software Engineer с 5 годами опыта -- 35к
[16:08:02] mishok13: то гугл будет платить не менее 40
[16:08:24] mishok13: тут фунты стерлингов подразумеваются
[16:08:34] _lorien: в месяц o_O
[16:08:36] _lorien: ?
[16:08:41] mishok13: тычодурак?
[16:08:45] mishok13: в год естественно
[16:08:47] _lorien: ))
[16:08:53] mishok13: в месяц
[16:09:02] mishok13: ы
[16:09:09] _lorien: %)
[16:09:33] mishok13: они зарплату за год указывают, потому что так проще потом кредиты считать :)
[16:09:42] _lorien: !google фунт стерлингов в американских долларах
[16:10:00] _lorien: йоп.. x2
[16:10:22] mishok13: ну да
[16:10:30] mishok13: только ты не забывай
[16:10:36] _lorien: налоги?
[16:10:38] mishok13: что они зарплату чистыми получают
[16:10:46] mishok13: и потом с нее надо налоги заплатить
[16:11:03] mishok13: а в англии это процентов 60
[16:11:07] _lorien: o_O
[16:11:12] mishok13: угу
[16:11:26] _lorien: А за что... платят? Им взамен что дают... как бы? )
[16:11:29] _lorien: Пенсия типа? )
[16:11:44] mishok13: _lorien, в России уровень налогов выше
[16:11:47] mishok13: и у нас выше
[16:11:55] mishok13: просто всем на это положить
[16:12:17] mishok13: а платят за то, что когда ты по улице идешь, то собачьи какашки под ногами не валяются
[16:12:18] _lorien: хз, я чёрные получаю, правда с кредитом понты в этом случае
[16:12:30] mishok13: и пьяные возле дома не валяются
[16:13:04] mishok13: и много чего еще
[16:13:46] wiz: пятница уже скоро... http://b23.ru/ycq
[16:28:05] wiz: http://www.youtube.com/watch?v=miSADG9yihM
[16:30:08] xa4a: Oo
[16:35:06] wiz: бла, у меня ухмылка не слезает... хорошо хоть начальство всё по домам
[16:35:32] Большой Лис: :D
[16:38:12] Большой Лис: http://www.linux.org.ru/view-message.jsp?msgid=2763765
Asus вернулa деньги за ненужную Windows
[16:38:14] Большой Лис: бугагага
[16:38:17] Большой Лис: супер
[16:38:29] mishok13: i have a bad case of diarrhea
[17:14:56] _lorien: http://www.rambler.ru/news/world/funnynews/12776728.html
[17:19:48] mishok13: http://bugs.python.org/file10389/typetools.py
[17:19:54] mishok13: наркотики в моем питоне!
[17:44:26] _lorien: а, нельзя сделать cursor.execute("SET @foo = 4"), а потом в следующем запросе это заюзать?
[17:46:48] _lorien: чё-то не получается у меня.. следующий execute не видит уже
[17:47:07] _lorien: а, вру
[17:55:56] Патриот: привет всем, существует инструмент который нарисует структуру БД?
[17:56:19] slav0nic: power designer from sybase
[17:56:31] slav0nic: но оно не фри) есть альтернативы
[17:57:29] Патриот: sqlite прочитает?
[17:57:36] Патриот: ладно, разберусь вообще
[17:57:39] Патриот: вообщем*
[17:57:44] Патриот: спасибо
[17:57:46] slav0nic: врядли)
[18:11:15] _lorien: а кто знает, как убить все маркеры на google maps карте?
[18:13:26] _lorien: clearOverlays() none Removes all overlay from the map, and fires the clearoverlays event.
[18:25:49] _lorien: 3) //round 8.111111 to 3 decimals
var result=Math.round(8.111111*1000)/1000 //returns 8.111
ух, щит, как удобно
[19:46:24] !tmp~: всем привед
[19:50:02] Большой Лис: де этот пиранья когда нужен?
[19:50:04] Большой Лис: hg qimport -r 1:2
[19:50:12] Большой Лис: а как посмотреть что именно там получилось
[19:50:18] Большой Лис: где физически файлы лежат?
[19:50:35] Муркт: Большой Лис: ну посмотри другие команды насчёт q
[19:50:45] Муркт: физически оно лежит в .hg/patches
[19:51:44] !tmp~: Большой Лис, ыы
[19:53:03] Большой Лис: !tmp~, ?
[19:53:09] Большой Лис: Што?
[19:53:18] !tmp~: Большой Лис, про пиранью отжег
[19:53:27] !tmp~: я тоже не могу найти людей именно тогда, когда они нужны
[19:53:36] !tmp~: а когда не нужны - глаза мозолят
[19:53:48] Большой Лис: работает пацыг видать ;)
[19:53:56] Большой Лис: плееры отжимает
[19:53:58] xa4a: ха. бухаит! %)
[19:54:41] xa4a: /me подцепил вайном вирус кокой-то :\
[19:54:47] Муркт: работает
[19:55:00] Муркт: и у него инет херовый счас
[21:05:04] xa4a: хы
[21:05:25] xa4a: http://irc.peeron.com/xkcd/map/
[21:07:42] xa4a: http://imgs.xkcd.com/comics/geohashing.png что-то не очень понял, как оно работает
[21:09:20] Муркт: гмм
[21:09:28] xa4a: а..
[21:09:53] xa4a: по ходу просто считает каждый день новое смещение в пределах зоны на карте
[21:39:55] slav0nic: о, финал ЛЧ
[22:32:01] slav0nic: http://www.mininglabs.com/2008/05/13/web-frameworks-a-free-software-oriented-study/
[22:32:48] red-agent: когда уже крнчится ебаный футболл
[22:33:34] (ZioN,): ))
[22:39:49] red-agent: иксы блядь упали
[22:52:41] slav0nic: через 40 минут)