Учимся ездить на Питоне, опыт освоения языка Python с нуля |
Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
Учимся ездить на Питоне, опыт освоения языка Python с нуля |
Поделиться |
28.9.2010, 20:15
Сообщение
#31
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
надо наверное тебе написать просмотровщик для wmfon-а самому в смысле на canvas'е? -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
28.9.2010, 20:24
Сообщение
#32
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
в смысле на canvas'е? Да это будет не очень сложная задача , после твоих изысков в сторону процессов и субпроцессов (сам сейчас этой гадостью занимаюсь[субпроцессами] пишу морду для mplayer-а играющую аудиосидюки ). Потихоньку едет крыша , вот книжонку нашел хорошую: http://reslib.com/book/9194/288 правда там не дают много читать |
|
|
29.9.2010, 17:18
Сообщение
#33
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Дискуссию про MPlayer и т.п. переместил в тему об Antique.
Насчёт просмотра в wmfon. С помощью Tk его, как я понял, не сделать вообще (см. сообщения 7 -8 этой темы). Тогда другие графические библиотеки использовать, где есть "неодноразовые" аналоги tkFileDialog.askopenfilename? А у них тоже свои зависимости? Короче, тут вопрос вписывания всего этого дела в Antique, а в этом я как-то не очень ориентируюсь. Всё-таки размышляю, нельзя ли как-то выпытать у просмотровщика имя открываемого файла. Если этот файл в ядре никак не регистрируется, то в /proc лазить бесполезно, а у самой проги узнать... единственное, что приходит в голову - это сохранение из неё файла куда надо; но, по-моему, с какими бы опциями ни запускать просмотровщик, всё равно это получается совсем уж негибкий вариант, и потому не годится. А какие ещё есть лёгкие просмотровщики, уместные в Antique? Может, какой-то из них открывает картинки "нормальным" способом? Тогда вопрос решится. Правда, в таком случае решение будет пристёгнуто именно к этому просмотровщику. -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
19.10.2010, 21:14
Сообщение
#34
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
А не проще ковырнуть сам Мираж и кое-что в нём приписать, чтобы он, открывая файл, отправлял его адрес туда, откуда его будет тут же забирать скрипт, о котором мы тут выше говорили?
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
19.10.2010, 21:20
Сообщение
#35
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
А не проще ковырнуть сам Мираж и кое-что в нём приписать, чтобы он, открывая файл, отправлял его адрес туда, откуда его будет тут же забирать скрипт, о котором мы тут выше говорили? Можно и так, только перепакечивать его надо будет под другим именем, если можешь хакни его |
|
|
20.10.2010, 17:50
Сообщение
#36
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
План простой. В меню Миража будет пункт "Выбор фона" (или нечто подобное), а к нему пристёгнута функция, отправляющая адрес открытого файла в условленное место (в файл с фиксированным именем хотя бы), откуда его немедленно забирает wmfon и записывает в соответствующую переменную; дальше всё ясно. Сейчас роюсь в Мираже (копию его сделал, с ней и химичу), размышляя, как это реализовать; никогда не бродил по такой большой (для меня) программе, сложно ориентироваться, тем более что успел уже отчасти подзабыть то немногое, что знал о Питоне
Думаю, это самый простой способ сделать предпросмотр, не притягивая дополнительного софта. только перепакечивать его надо будет под другим именем Это с лицензией связано? -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
20.10.2010, 20:12
Сообщение
#37
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Это связано не с лицензией, а с обновлениями, при первом обновлении из бранча на более свежую версию пакета, пропатченный mirage будет заменен на нормальный
и wmfon работать не будет. Хотя если поставить родной mirage в параллель к пропатченному, тоже получится бардак, значит надо прописывать зависимость на удаление, в общем все довольно паршиво с этими форками получается |
|
|
20.10.2010, 20:24
Сообщение
#38
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Можно, наверное, использовать пропатченный Мираж под его собственным именем, а в дистр добавить скрипт, который будет автоматически заново патчить Мираж после каждого его обновления - только не знаю, насколько это сложно. Конечно, если есть какой-то более простой способ решения проблемы с предпросмотром, то можно его попробовать, но вроде как такового не видно.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
20.10.2010, 20:55
Сообщение
#39
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Альтернативный способ вижу только один , написать просмотровщик самому, задача довольно интересная, но у меня сейчас на нее нет времени, так что либо mirage ковыряй, либо просмотровщик пиши
|
|
|
21.10.2010, 19:54
Сообщение
#40
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Если просмотровщик писать на замену Миражу, то он же у меня заведомо хуже Миража получится. А если чисто для предпросмотра в wmfon, то зачем в дистре-минималке две дублирующих программы, и стоит ли дело труда? Уж лучше попробую, как время будет, слегка хакнуть Мираж
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
21.10.2010, 20:00
Сообщение
#41
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Если просмотровщик писать на замену Миражу, то он же у меня заведомо хуже Миража получится. А если чисто для предпросмотра в wmfon, то зачем в дистре-минималке две дублирующих программы, и стоит ли дело труда? Уж лучше попробую, как время будет, слегка хакнуть Мираж Хакай, полезное и увлекательное дело Опакетим это безобразие и запихаем в наши сборки ! |
|
|
25.10.2010, 23:00
Сообщение
#42
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Вроде готово. Запускаешь wmfon, жмёшь "Просмотр", запускается Мираж, открываешь там нужную картинку, далее "Файл - Select", закрываешь Мираж, в wmfon жмёшь "Выбор фона" - и наслаждаешься новой картинкой на рабочем столе Видимо, что-то можно улучшить, и с обновлением Миража проблема остаётся, но хотя бы в общем вопрос, похоже, решён. Модифицированные mirage и wmfon хотел выложить здесь, но почему-то неудачно. Константин, я тебе их лучше электронкой отправлю.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
25.10.2010, 23:10
Сообщение
#43
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Отлично ! отправляй
|
|
|
26.10.2010, 15:50
Сообщение
#44
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Ещё немного подправил wmfon : в конец функции prosmotr дописал строку
f_name(event) а кнопку "Выбор фона" убрал как ставшую лишней. Теперь при закрытии Миража wmfon меняет фоновую картинку автоматически. -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
26.10.2010, 18:16
Сообщение
#45
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Ещё немного подправил wmfon : в конец функции prosmotr дописал строку f_name(event) а кнопку "Выбор фона" убрал как ставшую лишней. Теперь при закрытии Миража wmfon меняет фоновую картинку автоматически. То что надо, а то меня лишняя кнопка смущала, можно вот еще чего сделать твой хакнутый мираж переименовать например в mirage1 я его подложу в папку с прогой и при опакечивании все это ляжет в папку /usr/share/wmfon, таким способом мы вообще уйдем от конфликтов с миражем. Присылай новую версию wmfon-а |
|
|
26.10.2010, 18:39
Сообщение
#46
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
26.10.2010, 20:19
Сообщение
#47
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
|
|
|
26.10.2010, 20:42
Сообщение
#48
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
/usr/lib/python2.5/site-packages
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
26.10.2010, 21:09
Сообщение
#49
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Подсунул туда вместо mirage.py , пока работать не хочет :
Код [/home/k/wmfon-1.2/1] python -u "wmfon.py"
Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1414, in __call__ return self.func(*args) File "wmfon.py", line 83, in prosmotr f_name(event) File "wmfon.py", line 89, in f_name vybor(event) File "wmfon.py", line 64, in vybor strrnew=strru + fimg +strrd UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 12: ordinal not in range(128) |
|
|
26.10.2010, 21:27
Сообщение
#50
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Ну это же wmfon не запускается, а не Мираж. У меня всё на ура идёт. Может, при архивировании/сжатии что-то поломалось? А, кстати, мой Мираж сам по себе ( python /usr/lib/python2.5/site-packages/mirage.py) запускается?
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
26.10.2010, 21:40
Сообщение
#51
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Все запускается, эти ошибки появляются когда нажимаешь на кнопку выход в мираже, mirage.py запускается нормально
|
|
|
26.10.2010, 21:49
Сообщение
#52
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Проверил аж несколько раз : сообщений об ошибках никаких, фон успешно заменяется.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
26.10.2010, 21:50
Сообщение
#53
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Дело темное, буду разбираться !
|
|
|
27.10.2010, 8:49
Сообщение
#54
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Чудеса да и только, после перезагрузки компа все нормально работает , никаких ошибок. Иван 2 предложения по-проге :
1) переименовать кнопку Просмотр в кнопку Выбрать фон 2) сделать кнопку Справка при нажатии на которую вываливается краткая инструкция по работе с прогой, главное напиши там о необходимости нажимать на Select в мираже для выбора картинки. 3) пока ты об этом думаешь, я подумаю как эту штуку пакетить. PS Иван, отличная прога получилась, теперь ты настоящий кодер |
|
|
27.10.2010, 18:59
Сообщение
#55
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Ну, настоящий или нет, а приятно, что получилось нечто хоть немного полезное
Прилагаю обновлённый вариант wmfon'а. Справку, конечно, можно и подформатировать, но сейчас нет времени разбираться, как это делается.
Прикрепленные файлы
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
27.10.2010, 21:47
Сообщение
#56
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Отлично , со справкой есть 2 варианта сейчас объясню тебе как это делается в принципе, будет полезно на будущее прием простой но полезный, я такими штуками пользуюсь постоянно. Итак при нажатии на справку у тебя каждый раз открывается текстовое поле, а старое не закрывается.
В общем тебе надо отслеживать кол-во нажатий кнопки что-бы сделать из нее триггер на первое нажатие окно открывается, на второе закрывается Делаешь какую либо переменную n и указываешь ее значение равной n= 2 в начале проги .В процедуре обработчика кнопок ( кстати не забудь указать в ней global n ) выполняешь проверку четности : global n m = n%2 # остаток от деления на 2 if m == 0 : ....# открываем окно else : .... # закрываем окно n= n+1 после чего выходим из процедуры. Очень неплохо открывать справку в дочернем окне ( при этом лучше рамку с кнопкой закрытия у него отрубить , а то пользователь закроет его крестом и получится так что для получения следующего окна со справкой надо будет 2 раза нажимать на кнопку закрыть, ничего страшного в принципе , но бага ) Можно и в основном конечно, но тогда надо будет боюсь решать лишние проблемы с геометрией, для восстановления исходного р-ра окна. В общем нет предела совершенству Да я думаю кнопки выход и справка надо сделать такого-же р-ра как и остальные. А прога получилась не просто полезная а очень полезная , так что допиливай ее дальше по-мере возможности и в репу ей клубную и в репу по antique и в мою репу по WM-у ей будет прямая дорога PS так как движок форума игнорирует несколько пробелов подряд заменил их на точки Сообщение отредактировал kostyalamer - 27.10.2010, 21:52 |
|
|
28.10.2010, 17:58
Сообщение
#57
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Не успел выяснить, как справку пристегнуть к основному окну, а вообще получилось примерно так :
Прикрепленные файлы
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
28.10.2010, 21:50
Сообщение
#58
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Со справкой получилось все отлично , я нашел кстати в чем глюк с mirage:
Попробуй открыть папку с картинками с кирилическим именем например ~/Обои , на этом все рушится : Код Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1414, in __call__ return self.func(*args) File "wmfon.py", line 85, in prosmotr f_name(event) File "wmfon.py", line 91, in f_name vybor(event) File "wmfon.py", line 66, in vybor strrnew=strru + fimg +strrd UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 12: ordinal not in range(128) <Tkinter.Event instance at 0xb6e4afac> *** Exited with status 1 *** в самом wmfon проблема решается так: Код os.path.expanduser('~') f = open(os.path.expanduser('~')+'/GNUstep/Defaults/WindowMaker','r',2) strr = f.read().decode('utf-8') f.close i = strr.find('WorkspaceBack = (') j = strr.find('\"',i) k = strr.find('\"',j+1) strru=strr[:j+1] strrd=strr[k:] strrnew=strru + fimg +strrd f = open(os.path.expanduser('~')+'/GNUstep/Defaults/WindowMaker','w',2) f.write(strrnew.encode('utf-8')) f.close видимо проблема где-то в mirage, при попытке записи пути файла. надо подключить к ней модуль codecs и доработать запись имени файла, хотя возможно еще f_name косячит с кодировкой, погляди |
|
|
29.10.2010, 18:05
Сообщение
#59
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 9996 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Мираж записывал имя файла нормально, так что в нём ничего менять не стал. А вот f_name исправил :
Код def f_name(event): global fimg s = open("/tmp/s","r") fimg = unicode(s.read(), "utf8") vybor(event) Теперь всё работает и тогда, когда картинки в каталоге с кириллическим именем. -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
29.10.2010, 18:55
Сообщение
#60
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Отлично, на выходных постараюсь опакетить
|
|
|
Текстовая версия | Сейчас: 30.3.2024, 3:17 | |