gentoo.ru
python
python@conference.gentoo.ru
Суббота, 19 марта 2011< ^ >
maksbotan установил(а) тему: Пей тон @ Жуй картон || https://gist.github.com/289467 || Логи: http://tinyurl.com/gentoo-py-logs || "Python's a drop-in replacement for BASIC in the sense that Optimus Prime is a drop-in replacement for a truck."
Конфигурация комнаты
Участники комнаты

GMT+3
[01:29:34] <maksbotan> krigstask: чему должен быть равен secret_key во фласке?
[01:44:51] <maksbotan> http://paste.pocoo.org/show/355800/
это если secret_key прописать
[01:44:54] <maksbotan> в чем прикол
[01:44:56] <maksbotan> ?
[01:45:39] <maksbotan> krigstask: ^^
[01:57:39] <maksbotan> подумай пожалуйста, у меня тут просто бред выходит
[01:57:49] <maksbotan> я завтра домой возвращаюсь
[02:09:39] <maksbotan> фак, unicode_literals
[02:09:41] <maksbotan> :(
[02:47:50] maksbotan вышел(а) из комнаты
[02:55:38] maksbotan вошёл(а) в комнату
[03:32:03] maksbotan вышел(а) из комнаты
[08:53:43] <krigstask> Разобрался?
[09:08:25] maksbotan вошёл(а) в комнату
[09:26:32] maksbotan вышел(а) из комнаты
[09:32:00] maksbotan вошёл(а) в комнату
[12:41:22] maksbotan вышел(а) из комнаты
[13:55:34] maksbotan вошёл(а) в комнату
[13:55:44] maksbotan вышел(а) из комнаты
[13:55:58] maksbotan вошёл(а) в комнату
[13:56:06] <maksbotan> ага, разобрался
[13:56:10] maksbotan вышел(а) из комнаты
[13:56:20] maksbotan вошёл(а) в комнату
[13:56:36] <maksbotan> krigstask: а что там с JSON?
[14:05:46] <krigstask> Всё уже, давным-давно
[14:06:43] <krigstask> Без сопливых!
[14:07:05] <maksbotan> ну извини, я занят был =)
[14:15:36] <krigstask> Я с кавычками напутал
[14:24:05] <maksbotan> ну да, в json вроде только один тип кавычек
[14:35:27] <maksbotan> krigstask: можешь подсказать со фласком?
[14:36:02] <krigstask> Могу попробовать
[14:36:27] <maksbotan> смотри, мне нужно редиректнуть юзера на другую страницу, но при этом подсунуть ему htmlку
[14:36:41] <maksbotan> типа "Если вас не редиректит автоматом, тыкайте сюда"
[14:39:09] <maksbotan> кхм, redirect() выдает свою хтмлку
[14:39:17] <maksbotan> как бы ему мою подсунуть
[14:42:46] <krigstask> Не знаю, рыть надо
[14:42:54] <maksbotan> пичяль
[14:42:57] <maksbotan> пойду на #pocoo
[14:43:08] <krigstask> Лучше порой доки и исходники
[14:43:34] <maksbotan> доки уже порыл, ничего не нашел
[14:44:21] <maksbotan> эх какая пичяль, перевожу одну штуку с перла на питон
[14:44:31] <maksbotan> это издевательство
[14:45:31] <maksbotan> krigstask: ты знаешь Андрея Лопатина?
[15:06:46] <krigstask> Вроде нет
[15:07:22] <maksbotan> неудивительно
[15:07:24] <maksbotan> ну и ладно
[15:08:02] <maksbotan> это победитель международных олимпиад по программированию, крутой чувак
[15:08:11] <maksbotan> мне достался его перлокод, решил вот переписать )
[15:08:25] <krigstask> А я откуда его должен знать? (-%Е
[15:09:16] <maksbotan> вдруг каким-то случайным образом знаешь, должен же был я проверить )
[15:09:39] <krigstask> А по-моему, не должен был!
[15:09:59] <maksbotan> <moraes> see werkzeug.utils.redirect.
<moraes> it is like 10 lines. reimplement it
[15:10:01] <maksbotan> тьфу ты
[15:10:13] <krigstask> Ха-ха
[15:10:29] <maksbotan> вот тебе и хаха
[15:10:47] <krigstask> Нет, это именно что тебе ха-ха
[15:11:18] <maksbotan> :(
[15:12:01] <maksbotan> а у тебя нет опыта настраивания Lighttpd?
[15:12:25] <krigstask> Есть, небольшой
[15:12:51] <maksbotan> хм
[15:13:04] <maksbotan> не знаешь как заставить все файлы в папке считать perl-скриптами?
[15:13:11] <maksbotan> причем папка не cgi-bin
[15:13:24] <maksbotan> а то этот шутник любит файлы без расширения
[15:13:51] <krigstask> Не-а
[15:14:09] <maksbotan> жаль
[15:14:34] <maksbotan> а у меня ещё вопрос есть )
[15:14:47] <maksbotan> pygments умеет автодетект синтаксиса?
[15:15:04] <krigstask> Что-что?
[15:15:11] <maksbotan> ну автоопределение
[15:15:25] <krigstask> Да
[15:15:29] <maksbotan> это хорошо
[18:32:59] <maksbotan> знаешь какая мне мысль в голову пришла?
[18:33:39] <maksbotan> глянь вот это, стоит дальше продолжать в том же духе, или надо переделывать? http://paste.pocoo.org/show/356090/
[18:36:32] <krigstask> Бр-р-р
[18:36:46] <maksbotan> настолько плохо?
[18:37:19] <krigstask> Лапша из if'ов
[18:37:47] <krigstask> Выглядит ужасно, работает так себе
[18:37:48] <maksbotan> как бы ты это сделал?
[18:38:03] <maksbotan> я просто пока влоб из перлоскрипта переписал
[18:38:31] <krigstask> Ну это надо думать, что ты этим всем сказать хотел
[18:39:36] <maksbotan> да я просто пока перлоисходник не раскпывал тщательно, так что сам не очень знаю что хотел сказать
[18:39:48] <maksbotan> позадавай мне вопросов что-ли
[18:40:51] <krigstask> Ботан, ты такой интересный
[18:41:08] <krigstask> Ты почему-то думаешь, что всех твои дела как-то трогают
[18:41:27] <krigstask> Что вот сейчас я буду рыть в твоём кодике и задавать вопросы
[18:41:41] <maksbotan> ну вдруг )
[18:41:58] <maksbotan> ладно, если сходу ничего сказать не можешь, то попробую сам поисправлять
[18:46:10] <krigstask> Давай-давай
[18:50:27] <maksbotan> а, мне ведь потом ещё предстоит веселье в виде подключения этого безобразия к IIS =)
[18:52:30] <krigstask> о-8Е
[18:52:36] <maksbotan> вот вот
[21:22:30] <maksbotan> krigstask: теперь буду тебя мучать
[21:22:37] <maksbotan> http://paste.pocoo.org/show/356174
[21:22:41] <maksbotan> как закодить?
[21:23:27] <krigstask> Откуда мне знать, что это вообще
[21:25:37] <maksbotan> очевидно, преобразователь текста
[21:25:44] <maksbotan> на весьма забавной регулярке
[22:01:29] <maksbotan> krigstask: нельзя сделать что-нибудь типа генератора строк?
[22:01:51] <maksbotan> или ''.join([f(i) for i in <string>])
[22:01:55] <krigstask> Разрешаю
[22:02:11] <maksbotan> для замены символов это нормальное решение
[22:02:12] <maksbotan> ?
[22:03:30] <krigstask> А что, str.replace() уже не кактит?
[22:04:10] <maksbotan> он разве умеет заменять по функции?
[22:04:35] <maksbotan> не умеет
[22:04:49] <krigstask> Та кэто не замена тогда, вообще-то
[22:05:11] <maksbotan> хм, а filter() со строкой работает?
[22:07:20] <krigstask> Вряд ли
[22:07:46] <maksbotan> жаль
[22:46:15] <maksbotan> krigstask: в тернарном операторе можно в одном из блоков несколько команд делать?
[22:55:09] <maksbotan> блин, в LC нельзя присваивания использовать
[22:55:13] <maksbotan> пичяль, пичяль
[22:56:35] <krigstask> Чего?
[22:56:56] <maksbotan>   File "<stdin>", line 1
    [s[i+1] = chr(ord(s[i+1])-0x40) if c == '\x18' else c for i,c in enumerate(s)]
            ^
SyntaxError: invalid syntax
[22:57:04] <maksbotan> правда в строку все равно нельзя присваивать
[22:57:59] <maksbotan> krigstask: помоги декодер по-красивее сделать )
[22:58:28] <krigstask> for (i, c)
[22:59:02] <maksbotan> это я и сам могу
[22:59:14] <maksbotan> а в списковое включение никак?
[23:02:09] <krigstask> >>> [i for (i, c) in enumerate(a)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[23:02:16] <krigstask> Дубинушка
[23:03:41] <maksbotan> емана, как-будто я не знаю
[23:04:10] <maksbotan> \x18 это префикс, его удалить надо
[23:04:11] <krigstask> Э-э-э
[23:04:25] <krigstask> Тогда в чём вопрос и зачем ты мне своё с ошибкой показал?
[23:04:27] <maksbotan> то есть если c == \x18, то выводим f(c+1)
[23:04:33] <maksbotan> а если нет, то выводим c
[23:04:52] <maksbotan> фишка в том, что после вывода c+1, на следующем повторе он снова выведется
[23:04:56] <maksbotan> причем не измененный
[23:05:06] <maksbotan> >>> [chr(ord(s[i+1])-0x40) if c == '\x18' else c for i,c in enumerate(s)]
['\x00', '@', 'a', 'b', 'c']
[23:05:10] <maksbotan> вот @ тут лишний
[23:05:50] <krigstask> В списковом включении присваивание не делают
[23:06:05] <maksbotan> http://paste.pocoo.org/show/356242/
[23:06:13] <maksbotan> вот это работает, не считая пробелов
[23:07:49] <maksbotan> >>> [chr(ord(s[i+1])-0x40) if c == '\x18' else ( c if s[i-1] != '\x18' else '' ) for i,c in enumerate(s)]
['\x00', '', 'a', 'b', 'c']
[23:07:53] <maksbotan> ну упорото ведь
[23:08:14] <maksbotan> или годится?
[23:08:16] <krigstask> Не без того
[23:08:34] <maksbotan> ну есть идеи как получше сделать?
[23:08:55] <krigstask> re.sub
[23:09:02] <maksbotan> блин
[23:09:07] <maksbotan> какой нафиг re.sub
[23:09:28] <maksbotan> внутри регулярки нельзя операции над \1 проводить
[23:09:33] <maksbotan> не перл ведь
[23:09:42] <krigstask> Обычный такой
[23:09:51] <maksbotan> ну вот покажи пример
[23:09:57] <krigstask> У меня тут интернеты тупят
[23:10:25] <krigstask> Покажи входную и выходную стрки
[23:10:37] <maksbotan> вот жеж
[23:10:41] <maksbotan> походу ты прав
[23:10:43] <maksbotan> ща покажу
[23:11:01] <maksbotan> '\x18X@abc'
[23:11:03] <maksbotan> входная
[23:11:08] <krigstask> При чём тут поход?
[23:11:28] <maksbotan> стоп, не та входная
[23:12:04] <maksbotan> '\x18@abc'
входная
'\x00abc'
выходная
[23:12:32] <maksbotan> \x18[что-то] меняется на f([что-то])
[23:14:52] <maksbotan> http://paste.pocoo.org/show/356244/
[23:15:01] <maksbotan> krigstask: спасибо огромное, я не знал что есть такая магия
[23:15:37] <krigstask> Я ж говорил уже
[23:15:44] <krigstask> Пожалуйста
[23:15:51] <maksbotan> я думал re.sub только две строки принимает
[23:15:54] <maksbotan> не знал про функцию
[23:16:00] <maksbotan> надо запомнить )
[23:28:02] <maksbotan> krigstask: а я нашел то, чего не умеет str.format и умеет %
[23:28:21] <maksbotan> >>> '{0:.9d}'.format(random.randint(0,1000000000))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Precision not allowed in integer format specifier
>>> '%.9d' % random.randint(0,1000000000)
'488227760'
[23:28:24] <maksbotan> так-то
[23:28:24] <krigstask> Ну?
[23:33:25] <maksbotan> неужели я глупость ляпнул?
[23:35:21] <krigstask> У меня интернеты тупят
[23:35:46] <maksbotan> а
[23:39:06] <krigstask> Ты будешь удивлён, но я  не вижу смысл в указании точности для целого
[23:39:46] <maksbotan> http://www.cplusplus.com/reference/clibrary/cstdio/printf/
[23:39:51] <maksbotan> For integer specifiers (d, i, o, u, x, X): precision specifies the minimum number of digits to be written.
[23:42:42] <krigstask> А плюсы тут при чём?
[23:42:48] <krigstask> The precision is a decimal number indicating how many digits should be displayed after the decimal point for a floating point value formatted with 'f' and 'F', or before and after the decimal point for a floating point value formatted with 'g' or 'G'. For non-number types the field indicates the maximum field size - in other words, how many characters will be used from the field content. The precision is not allowed for integer values.
[23:42:58] <maksbotan> а то что в перле так же
[23:43:17] <krigstask> И чего?
[23:43:26] <maksbotan> ну вообще полезная функция
[23:43:29] <maksbotan> имхо
[23:43:56] <krigstask> Для чего?
[23:44:15] <maksbotan> ну
[23:44:19] <maksbotan> обрезать длинные числа
[23:44:37] <krigstask> Длинные целые обрезать?!
[23:44:42] <maksbotan> обрезать
[23:45:23] <krigstask> По-моему, кто-то упоролся
[23:45:49] <maksbotan> автор перлокода упоролся, значит
[23:46:00] <maksbotan> хотя зачем-то же в printf это есть
[23:47:57] <krigstask> Скажи, зачем, и найди, как это делается в str.format
[23:48:06] <maksbotan> не знаю зачем
[23:48:09] <maksbotan> =)
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!