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

GMT+4
[01:07:09] qnikst вышел(а) из комнаты
[09:07:57] krigstask вышел(а) из комнаты
[10:45:30] krigstask вошёл(а) в комнату
[11:37:01] krigstask вошёл(а) в комнату
[13:40:54] qnikst вошёл(а) в комнату
[14:52:30] maksbotan вошёл(а) в комнату
[14:57:06] Anarchist вошёл(а) в комнату
[15:40:32] <Anarchist> maksbotan
[15:40:38] <maksbotan> Anarchist
[15:41:43] <Anarchist> ebuild: http://bugs.gentoo.org/show_bug.cgi?id=339428
[15:42:20] <krigstask> Алекс Юстасу
[15:42:24] <maksbotan> не хватает inherit python
[15:42:45] <Anarchist> Вопрос: а если вообще не ставить скрипты искаропки, а вместо них написать свой скрипт на баше.
[15:43:01] <maksbotan> э?
[15:43:08] <Anarchist> maksbotan Почему?
[15:43:17] <maksbotan> ну вот не хватает
[15:43:25] <maksbotan> санрайс меня за это уже поругал
[15:43:28] <Anarchist> В смысле, чтобы не заморачиваться с апстримом в части именования файлов.
[15:43:31] <maksbotan> аргументы я не запомнил =)
[15:43:34] <Anarchist> А... Понял.
[15:43:38] <Anarchist> Поправлю.
[15:43:56] <Anarchist> -9999 ебилды принято переименовывать при исправлении или как?
[15:44:09] <maksbotan> вроде не принято
[15:44:15] <maksbotan> это лучше у слепноги спроси
[15:46:54] <Anarchist> Поправил.
[15:51:01] <Anarchist> Мля... А тут автор нарисовался. На досуге надо будет поправить список зависимостей (явное требование Питона 2.6).
[15:51:38] <maksbotan> PYTHON_DEPEND
[15:53:31] <Anarchist> Это где/как прописывается?
[15:54:03] <Anarchist> dev-python/lxml с 3.1 ещё не дружит?
[15:54:19] <maksbotan> 1) в ебилде
[15:54:23] <maksbotan> 2) не знаю
[15:54:30] <maksbotan> читай python.eclass по поводу 1)
[16:03:18] <Anarchist> Понятно, что в ебилде. :) Вопрос _каком_ ? И как оформить 2.5 || 2.6?
[16:04:13] <maksbotan> в твоем же
[16:04:26] <maksbotan> читай екласс, мне лень объяснять
[16:04:32] <maksbotan> тем более что сам узнал оттуда
[16:05:49] <Anarchist> Понятно. Почитай. Только фиг тебе :) сначала страницу руководства екласса :)
[16:06:57] <maksbotan> ?
[16:07:01] <maksbotan> не распарсил фразу
[16:07:21] <Anarchist> Прежде чем читать собственно екласс я почитаю его мануал.
[16:07:30] <maksbotan> у него вроде как нету мана
[16:07:52] <Anarchist> Будет повод проверить :)
[16:07:55] <maksbotan> =)
[16:17:09] <maksbotan> >>> kbdd.Kbdd
<class 'kbdd.Kbdd'>
>>> kbdd.Kbdd()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "kbdd.py", line 79, in __init__
    this = _kbdd.new_Kbdd(*args)
TypeError: new_Kbdd() takes exactly 2 arguments (0 given)
>>> kbdd.Kbdd(lambda: 1, None)
<kbdd.Kbdd; proxy of <Swig Object of type 'Kbdd *' at 0xb75044e8> >
[16:17:11] <maksbotan> qnikst: ^^
[16:19:44] <qnikst> и?
[16:20:16] <qnikst> я не вижу в чем тут проблема
[16:20:24] <qnikst> я вижу, что что-то не работает
[16:20:43] <maksbotan> почему не работает?
[16:20:44] <krigstask> Первым аргументом функцию хочет
[16:20:46] <maksbotan> как раз работает
[16:20:51] <maksbotan> я и показываю что работает
[16:20:56] <qnikst> аа
[16:21:03] <krigstask> А TypeError зачем показал?
[16:21:55] <maksbotan> нечаянно
[16:29:18] <krigstask> За нечаянно бьют отчаянно .\_/.
[16:29:47] <maksbotan> =)
[16:29:55] <qnikst> в общем я походу нашёл как это делать в сях
[16:29:56] <qnikst> =)
[16:29:57] <qnikst> гг
[16:29:59] <maksbotan> :(
[16:30:03] <maksbotan> ну вот
[16:30:07] <qnikst> но я ща работать начну
[16:30:08] <krigstask> Опять ботан обскакан
[16:30:09] <qnikst> не до того
[16:30:15] <qnikst> ты сделаешь в итоге быстрее
[16:30:15] <qnikst> =)
[16:30:17] <maksbotan> =)
[16:30:20] <maksbotan> посмотрим =)
[16:45:39] <krigstask> Обнадёжил ботана, а сам сидит, небось и код пишет, злобно хихикая
[16:46:01] <maksbotan> =)
[16:50:10] <qnikst> не я хавал
[16:50:11] <qnikst> =)
[16:50:20] <qnikst> обидно что нету в нете мануалов
[16:50:31] <qnikst> из чего следует что это или очень халявно
[16:50:35] <qnikst> или никому не надо
[16:51:09] <krigstask> Вот постигнешь и напишешь
[16:51:18] <krigstask> dbus для самых маленьких
[16:51:32] <maksbotan> =)
[16:51:45] <qnikst> угу
[16:52:01] <maksbotan> http://github.com/maksbotan/pyxkb/tree/kbdd-int
[16:52:02] <maksbotan> во как
[16:54:32] <qnikst> круто
[16:54:44] <qnikst> ты туда мастер засунул?
[16:54:48] <maksbotan> ага
[16:54:56] <maksbotan> а надо что?
[17:00:10] <maksbotan> qnikst: как сделать чтобы при make -C kbdd/ src/libkbdd.o твой kbdd не пересобирался полностью, а только если обновилось
[17:00:11] <maksbotan> ?
[17:02:09] <qnikst> не знаю
[17:02:32] <maksbotan> :(
[17:02:36] <maksbotan> ну и ладно
[17:02:41] <qnikst> этож 3 сек
[17:02:48] <maksbotan> знаю =)
[17:02:50] <qnikst> не личкрафты
[17:03:00] <maksbotan> =)
[17:03:42] <qnikst> блин ты модный gitignore, gitmodules
[17:03:48] <maksbotan> =)
[17:03:58] <maksbotan> .gitmodules создает командой git submodule add
[17:04:15] <maksbotan> создается*
[17:04:50] <maksbotan> а чо, удобно же так с тобой синхронизироваться
[17:05:11] <qnikst> да
[17:05:21] <qnikst> главное чтобы я не накосячил чего :)
[17:05:42] <maksbotan> откачу твой модуль и перестану апдейтить =)
[17:05:52] <maksbotan> делов то
[17:12:30] <maksbotan> qnikst: Kbdd_default_loop() блокирует или нет?
[17:21:16] <qnikst> не понимаю вопроса
[17:21:29] <qnikst> это бесконечный цикл, (который пока нельзя вырубить)
[17:21:34] <maksbotan> а, ясно
[17:21:46] <qnikst> поэтому я про 2ой поток говорил
[17:21:51] <maksbotan> а как тогда kbdd получает управление назад?
[17:21:55] <maksbotan> чтобы закрыться
[17:22:04] <qnikst> kill
[17:22:24] <maksbotan> не понял
[17:22:33] <qnikst> я не понимаю, что ты не понимаешь
[17:23:10] <qnikst> там чутка криво нужно обработчик сигналов делать, для выхода
[17:23:14] <qnikst> но мне пока лень было
[17:30:08] <maksbotan> void Kbdd_setupUpdateCallback(UpdateCallback, void *);
[17:30:21] <maksbotan> qnikst: почему set *up* *Up* ?
[17:30:35] <qnikst> потому-что ява
[17:30:47] <qnikst> methodName
[17:30:55] <qnikst> аа
[17:30:58] <qnikst> setup
[17:31:06] <qnikst> хочешь на set поменяю?
[17:31:34] <maksbotan> не надо, я уже у себя поправил
[17:31:36] <maksbotan> =)
[17:31:37] <qnikst> ок
[17:31:42] <maksbotan> просто интересно почему ты так назвал
[17:31:56] <qnikst> из твоей фразы вчера скопировал
[17:31:58] <qnikst> =)
[17:32:11] <qnikst> а может прочитал неверно
[17:32:25] <maksbotan> я ничего такого не писал вчера =)
[17:32:31] <maksbotan> >>> daemon = kbdd.Kbdd(changed, None)
>>> daemon
Ошибка сегментирования
[17:32:35] <maksbotan> что это ещё такое?
[17:35:00] <maksbotan> что-то я с памятью накосячил =)
[17:36:08] <maksbotan> уже поправил =)
[17:36:25] <maksbotan> >>> daemon = kbdd.Kbdd(changed, None)
>>> daemon
<kbdd.Kbdd; proxy of <Swig Object of type 'Kbdd *' at 0xb7551770> >
>>> dir(daemon)
['_Kbdd__swig_callback', '__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__swig_destroy__', '__swig_getmethods__', '__swig_setmethods__', '__weakref__', 'get_current_layout', 'next_group', 'set_policy', 'start', 'this']
>>> daemon.start
<bound method Kbdd.start of <kbdd.Kbdd; proxy of <Swig Object of type 'Kbdd *' at 0xb7551770> >>
>>> daemon.start()
Ошибка сегментирования
[17:36:28] <maksbotan> ещё веселее
[17:37:12] <qnikst> хм..
[17:37:19] <qnikst> а set_policy там точно есть?
[17:37:28] <maksbotan> а это заглушка
[17:37:40] <qnikst> display нормально передал?
[17:37:48] <maksbotan> вроде как да
[17:37:53] Anarchist вышел(а) из комнаты
[17:37:56] <qnikst> хм..
[17:37:56] <maksbotan> ща посмотрим что гдб скажет
[17:38:15] <qnikst> надо было ассертов навпиливать
[17:38:16] <qnikst> =)
[17:38:50] <maksbotan> (gdb) bt
#0  0xb78ec4bc in _XReply () from /usr/lib/libX11.so.6
#1  0xb7c88cd4 in ?? ()
#2  0xb7fdd585 in ?? () from /home/maks/mxkb/_kbdd.so
#3  0x00000005 in ?? ()
#4  0xb7ecc28c in PyObject_RichCompareBool () from /usr/lib/libpython2.6.so.1.0
#5  0xb7cc0b00 in ?? ()
#6  0x00000004 in ?? ()
#7  0x00000004 in ?? ()
#8  0xb78edf52 in _XStoreEventCookie () from /usr/lib/libX11.so.6
#9  0xb7e46380 in ?? () from /lib/libc.so.6
#10 0xbfffea44 in ?? ()
#11 0x00000007 in ?? ()
#12 0xb79d0ff4 in ?? () from /usr/lib/libX11.so.6
#13 0xb7e46380 in ?? () from /lib/libc.so.6
#14 0xb7c84eec in ?? ()
#15 0xbfffeab8 in ?? ()
#16 0xb78d0842 in XGetInputFocus () from /usr/lib/libX11.so.6
#17 0x00000000 in ?? ()
[17:38:51] <maksbotan> =)
[17:39:21] <qnikst> да 100% дисплей потерял
[17:39:37] <maksbotan> почему?
[17:39:38] <qnikst> сделай в коде в методе loop assert(display!=null)
[17:39:43] <qnikst> XGetInputFocus
[17:40:00] <qnikst> или у тебя иксы не включены
[17:40:04] <qnikst> ;)
[17:40:14] <maksbotan> =)
[17:40:40] <maksbotan>         Kbdd_init();
        Display* display;
        display = Kbdd_initialize_display();
        Kbdd_initialize_listeners(display);
[17:40:45] <maksbotan> это в конструкторе
[17:40:52] <maksbotan>     void start(){
        Kbdd_default_loop();
    }
[17:41:39] <maksbotan> qnikst: а твоей мейкфайл учитывает CFLAGS?
[17:41:48] <qnikst> прочитай его плз
[17:41:56] <qnikst> common.mk
[17:42:04] <qnikst> CFLAGS += -std=c99
[17:42:17] <maksbotan> ясно
[17:42:18] <qnikst> krigstask$(CC) $(CFLAGS) $
[17:42:24] <qnikst> ой
[17:42:32] <qnikst> извиняюсь, зря захайлайтил
[17:42:40] <krigstask> Не трожь мои CFLAGS .\_/.
[17:43:10] <maksbotan> странно, вроде с -g -ggdb собираю
[17:43:22] <maksbotan> а все равно #2  0xb7fdd585 in ?? () from /home/maks/mxkb/_kbdd.so
[17:44:16] <maksbotan> qnikst: ну что скажешь?
[17:44:32] <qnikst> ассерт вставил?
[17:44:40] <maksbotan> нет, ща
[17:45:18] <maksbotan> qnikst: у тебя и так там ассерт
[17:45:23] <maksbotan> void Kbdd_default_loop(Display * display)
{
    assert(display!=NULL);
[17:45:31] <maksbotan> блин, я ж в луп дисплей не передал
[17:45:35] <maksbotan> чорт :(
[17:46:04] <maksbotan> хотя впрочем и kbdd не передает
[17:47:04] <qnikst> u
[17:47:06] <qnikst> г
[17:47:09] <qnikst> передавай
[17:47:25] <maksbotan> почему kbdd не передает?
[17:47:30] <qnikst> пасиб за нахождение бага
[17:47:38] <qnikst> почему оно работает, так надо вопрос ставить
[17:47:43] <maksbotan> и как оно вообще тогда работает?
[17:47:46] <maksbotan> =)
[17:48:10] <qnikst> я не знаю
[17:48:14] <qnikst> а оно работает?
[17:48:17] <qnikst> эта версия
[17:48:32] <maksbotan> работает
[17:50:09] <maksbotan> ну вот и замечательно
[17:50:26] <maksbotan> qnikst: скриптик на питоне + твоя либа уже умеют делать работу kbdd
[17:50:30] <maksbotan> не считая форканья
[17:51:48] <maksbotan> круто, не правда ли?
[17:52:02] <maksbotan> хе, и Ctrl-C оно не убивается
[18:15:24] <maksbotan> krigstask, qnikst: придумайте название для питонодемона с дбус
[18:15:31] <maksbotan> только не pydbkbdd
[18:15:43] <krigstask> ^U
[18:15:50] <maksbotan> =)
[18:16:54] <qnikst> pdbdpdkdbpdddp
[18:16:57] <qnikst> как-то так
[18:17:01] <qnikst> (шутка)
[18:17:06] <maksbotan> хаха
[18:24:51] qnikst вышел(а) из комнаты
[21:20:41] krigstask вышел(а) из комнаты: Logged out
[22:57:33] maksbotan вошёл(а) в комнату
[22:58:32] krigstask вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!