gentoo.ru
python
python@conference.gentoo.ru
Суббота, 30 октября 2010< ^ >
krigstask установил(а) тему: Python: простой и удобный язык программирования широкого применения
Конфигурация комнаты
Участники комнаты

GMT+4
[16:39:44] maksbotan вошёл(а) в комнату
[16:57:04] maksbotan вышел(а) из комнаты
[16:58:04] maksbotan вошёл(а) в комнату
[17:25:44] maksbotan вышел(а) из комнаты
[19:12:54] maksbotan вошёл(а) в комнату
[20:21:29] qnikst вошёл(а) в комнату
[20:22:13] krigstask вошёл(а) в комнату
[20:22:19] <krigstask> Ну што вам тут
[20:22:27] <maksbotan> мне елифы
[20:22:55] <qnikst> а мне как из питона запустить ту злую команду
[20:23:04] <qnikst> darcs show repo | grep "Num Patches" | sed 's/ *//' | cut -s -d' ' -f3
[20:23:08] <maksbotan> а зачем?
[20:23:19] <qnikst> ну или как вариант проделать тоже в питоне
[20:23:22] <maksbotan> запусти первую часть
[20:23:29] <krigstask> qnikst: это тебе надо закурить модуль subprocess
[20:23:32] <maksbotan> выцепи регуляркой нужную строку
[20:23:37] <krigstask> Там всё просто
[20:23:41] <maksbotan> зацем .split(' ')[3]
[20:23:49] <maksbotan> затем*
[20:23:54] <maksbotan> krigstask: +1
[20:24:10] <qnikst> хм
[20:24:31] <krigstask> Но вообще да, потом вывод darcs лучше питоном обрабатывать
[20:24:53] <maksbotan> а то смысла в питоне и нету =)
[20:25:10] <qnikst> чорт вы сказали 2 разных варианта, и оба согласились с вариантом другого )
[20:25:18] <krigstask> Не-а
[20:25:23] <qnikst> там и так много питона
[20:25:34] <qnikst> в общем я делаю первую часть, а остальное питоном?
[20:25:36] <krigstask> Смотри, ты берёшь и запускаешь через subprocess darcs
[20:25:46] <maksbotan> qnikst: да
[20:25:48] <krigstask> Проверяешь его stderr
[20:26:01] <krigstask> Если всё нормально, обрабатываешь stdout
[20:26:09] <qnikst> хм..
[20:26:16] <qnikst> там в коде для гита было:
[20:26:17] <qnikst> krigstaskreturn self.call(['git', 'rev-parse', branch]).split('\n')[0]
[20:26:24] <qnikst> извиняюсь за хайлайт
[20:26:43] <qnikst> этот вариант плох?
[20:26:49] <krigstask> Щас я над этим подумаю
[20:26:54] <maksbotan> self.call это что?
[20:27:38] <krigstask> self.call() — это сильно похоже на обёртку на subprocess
[20:28:04] <qnikst> блин злой mcabber по табу имя подставляет питоно код не копирнуть
[20:28:05] <qnikst> ага
[20:28:47] <maksbotan> =)
[20:29:31] <krigstask> SmartLiveRebuild/vcs/__init__.py
[20:29:34] <krigstask> Строка 56
[20:29:48] <qnikst> =)
[20:29:54] <krigstask> Берёшь вывод self.call
[20:30:00] <krigstask> Дальше обрабатываешь
[20:30:10] krigstask ощущает себя шибко умным
[20:30:14] <maksbotan> =)
[20:30:19] <maksbotan> krigstask: а мне поможешь?
[20:30:32] <qnikst> пасиб
[20:30:46] <qnikst> блин мне надо научиться не задавать простые вопросы :)
[20:31:06] <qnikst> а понимать регекспы лень :)
[20:31:09] <maksbotan> =)
[20:31:28] <maksbotan> регеспы — няшки
[20:31:40] <krigstask> Ботан, во-первых, зачем тебе в условиях
self.signals['drawline'](self.__position, new_pos)
[20:31:44] <krigstask> Регвыры!
[20:32:02] <maksbotan> krigstask: это заставляет гуи-часть нарисовать линию до текущего места
[20:32:11] <qnikst> хм.. есть смысл в импорте на уровне функции а не модуля?
[20:32:23] <krigstask> У тебя четыре одинаковых строки, вообще-то
[20:32:28] <maksbotan> знаю
[20:32:30] <krigstask> qnikst: нечасто
[20:32:38] <krigstask> Ну и дуб, если знаешь
[20:32:53] <krigstask> Почему не вынес сразу?
[20:32:56] <krigstask> «Лень»?
[20:33:00] <qnikst> т.е. если я только в функции использую модуль в общем случае выношу наверх?
[20:33:07] <maksbotan> krigstask: а как тут вынесешь?
[20:33:46] <maksbotan> а, понял
[20:33:51] <krigstask> В общем — да. Если только эта функция вызывается редко, может иметь смысл не импортировать её всегда
[20:34:04] <qnikst> ясно
[20:34:12] <maksbotan> krigstask: подожди
[20:34:17] <qnikst> и если модуль опционален?
[20:34:20] <maksbotan> мне я все равно не понял как вынести
[20:34:44] <qnikst> вверх или вниз, удалив в других местах
[20:35:08] <qnikst> а, если я регвыр 1 раз пользую то compile использовать?
[20:35:08] <maksbotan> ну если вынести за if'ы то будет дергаться каждый шаг, что не нужно
[20:35:16] <maksbotan> qnikst: можно и не использовать
[20:35:35] <krigstask> maksbotan: у тебя в строке
self.__position[0] = new_pos[0] = -self.__scale[0]/2
вариьруется две вещи: знак и индекс
[20:35:43] <maksbotan> да
[20:36:12] <krigstask> Их можно вычислять однообразно
[20:36:20] <maksbotan> как?
[20:36:21] <krigstask> По модулям разности и т.п.
[20:36:35] <maksbotan> ладно, я подумаю об этом
[20:36:43] <krigstask> Да уж сделай одолжение
[20:37:15] <maksbotan> =)
[20:38:08] <krigstask> Такие вот простыни надо убивать в зародыше
[20:38:30] <maksbotan> ну я написал чтоб понимать логику для себя
[20:38:33] <krigstask> Потому что при изменении кода наверняка что-нибудь забудешь
[20:38:34] <maksbotan> проверил все, работает
[20:38:38] <maksbotan> теперь надо свернуть
[20:40:41] <krigstask> Теперь надо подумать
[20:40:49] <maksbotan> да-да =)
[20:41:39] <krigstask> А одному-то непривычно, да?
[20:42:41] <maksbotan> хаха
[20:52:18] <qnikst> даа почти однострочник
[20:53:38] <qnikst> причём можно сделать и однострочником, но тогда слишком большая длина строки
[21:03:05] <qnikst> в питоне ведь пробелы?
[21:03:15] <maksbotan> какие пробелы?
[21:04:02] <qnikst> а не табы
[21:04:12] <maksbotan> да пофигу
[21:04:15] <maksbotan> но лучше пробелы
[21:04:24] <qnikst> pylint не пофигу :/
[21:11:04] <krigstask> По стандарту — 4 пробела
[21:11:22] <maksbotan> пеп8 вроде не запрещает табы
[21:11:26] <maksbotan> но и не рекомендует
[21:11:32] <qnikst> блин даже пилинтом не попользоваться )
[21:11:39] <krigstask> Поцчему?
[21:12:21] <qnikst> хм.. а как правильно такие питонопрограммы тестить? krigstask, maksbotan
[21:12:28] <krigstask> Indentation
    Use 4 spaces per indentation level.
[21:12:43] <maksbotan> qnikst: какие такие?
[21:12:43] <krigstask> For new projects, spaces-only are strongly recommended over tabs.
[21:12:58] <maksbotan> krigstask: покажи мне там где tabs are forbidden
[21:13:00] <maksbotan> а нету!
[21:13:01] <qnikst> типа smart-live-rebuild?
[21:13:14] <maksbotan> а ты даркс туда впиливаешь чтоли?
[21:13:16] <qnikst> которые рутово системные
[21:13:17] <qnikst> ахха
[21:13:20] <maksbotan> у
[21:13:22] <maksbotan> ваще
[21:13:28] <krigstask> Нэнаю
[21:13:43] <qnikst> написать ебилд хавающий не с нета можно?
[21:13:46] <maksbotan> qnikst: таки поставил себе хмонад-9999?
[21:13:51] <krigstask> maksbotan: он вообще ничего не запрещает, голова садовая
[21:13:55] <maksbotan> qnikst: ну с локальной репки можно
[21:13:56] <qnikst> да уже кучу месяцев
[21:14:01] <maksbotan> ясно
[21:14:04] <maksbotan> krigstask: ок
[21:14:41] <qnikst> file:///~qnikst/work/smart-live-rebuild схавает?
[21:14:51] <maksbotan> зачем филе://
[21:15:03] <maksbotan> /home/qnikst/...
[21:16:58] <qnikst> даж так
[21:17:18] <maksbotan> вроде да
[21:57:56] krigstask вышел(а) из комнаты: Replaced by new connection
[21:58:06] krigstask вошёл(а) в комнату
[22:11:27] <krigstask> А я отрапортовался про eric5  и его починили
[22:11:29] <krigstask> Ура!
[22:12:24] <qnikst> круть
[22:13:19] <maksbotan> поздравляю
[22:13:32] <krigstask> Да-а-а, можно теперь нормально работать опять
[22:13:45] <krigstask> Без этого упоротого winpdb и eric4
[23:57:22] maksbotan вышел(а) из комнаты
[23:57:28] krigstask вышел(а) из комнаты: Replaced by new connection
[23:57:38] krigstask вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!