Enigma2 какие имиджи на python 3
![]()
Site Navigation
| Ссылки сообщества |
| Пользователи |
| Поиск по форуму |
| Поиск по метке |
| Расширенный поиск |
| Найти все сообщения с благодарностями |
| К странице. |
| Страница 3 из 4 | 1 | 2 | 3 | 4 | > |
Junior Member
Регистрация: 17.05.2019
Сообщений: 29
Спасибо: 135
Поблагодарили 29 в 14 сообщениях
жаль очень что забросили , плагин то отличный и нужный
| vasilecris |
| Посмотреть профиль |
| Найти ещё сообщения от vasilecris |
Super Moderator
Регистрация: 06.10.2014
Сообщений: 4 749
Спасибо: 1 105
Поблагодарили 3 158 в 1 406 сообщениях
Ott-play by Alex для Enigma2 тоже неплохо справляется.
Для имиджей на python 3 (openATV 7.x) нужно установить с фида плагин hbbtv-webkit и после этого файл из архива в аттаче разархивировать и папку ott-play поместить по FTP по пути /usr/lib/enigma2/python/Plugins/Extensions/
Перезагрузить ресивер. После входа в меню ott-play появится стандартная страница первоначальной настройки этого плеера.
Назначение кнопок:
[OK] — Вызов списка выбора каналов
[Красная] — Убрать инфо с экрана / закрыть любое меню
[Зеленая] — Возврат к предыдущему каналу
[Желтая] — Вызов меню настроек
[Синяя] — Инфо — Вызов информации о текущей передаче (по кругу нажатия: показ названия — показ описания — убрать)
[EXIT] — Выход
цифры и кнопки плей/пауза/стоп/перемотка как обычно
| ott-play.zip (6,8 Кб, 114 просмотров) |
Enigma2 какие имиджи на python 3
Страна:
Возраст: 58
Сообщений: 111
Сказал(а) спасибо: 37
Поблагодарили 293 раз(а) в 11 сообщениях
Репутация: 8116
: Как перевести любимые плагины с python 2 на python 3
Не нашел в каком разделе можно инструкции или FAQ написать, пишу здесь, админ разберется.
Решено: Как перевести любимые плагины с python 2 на python 3
В связи с появлением новых имиджей для наших ресиверов, основанных уже на python 3, например OpenATV версии 6.5 и выше, назрела необходимость перевести плагины также на python 3. Но что делать, если их авторы по тем или иным причинам не торопятся это делать?
Выход напрашивается сам собой, сделать это самому. Тем более, что если Вы хоть и не являетесь программистом, но считаетесь продвинутым пользователем Энигмы2.
Вот я и покажу, как на самом деле не так то это и невозможно. Но разумеется должен предупредить сразу.
Необходимо, чтобы выполнялось следующее.
1. Имеется разрешение от автора, либо Вы не будете выставлять это на паблик.
2. Разумеется Вы должны иметь в наличии исходники, ну или декомпилированное)))
3. Вы должны быть не только продвинутым пользователем Энигмы, но и конечно должны быть с компьютером на ты, то есть Вы не должны падать в обморок от необходимости установки в ваш комп (вернее конечно в ОС на компе) каких нибудь программ или библиотек, и разумеется обязаны иметь умение работать в консоли.
Итак, поехали.
Сперва-наперво разумеется нужно иметь на компе предустановленную среду python 2.7
Если у Вас это еще не установлено, ставьте вот отсюда https://www.python.org/downloads/release/python-2713/ соответствующую для вашей операционной системы версию.
Вам обязательно появятся две библиотеки питона. Так как я у себя питон устанавливал давно, в принципе не помню, устанавливаются ли эти библиотеки вместе с питоном по умолчанию или нет. Это вот эти две библиотеки — 2to3 и futurize (вторая точно не ставится по умолчанию).
Но если Вы продвинутый пользователь ПК, то несложно их дополнительно поставить через питоновский pip
pip install 2to3 pip install futurize
В принципе первый наверно ставится с питоном по умолчанию, а второй я вам помогу, просто скачайте нижеприложенный архив с библиотекой futurize и распакуйте в site-packages вашего питона, то есть вот такая папка получится C:\Python27\Lib\site-packages\future-0.18.2
Теперь основные моменты. Дело в том, что в принципе с помощью futurize Вы без ручного переделывания кода вероятно обойдетесь. Это если Ваш плагин не использует например много строковых параметров. Потому что есть моменты, которые не переделываются с помощью библиотек автоматом.
Поэтому на всякий случай, изучите что собственно изменилось в питон 3 по сравнению с питон 2. При этом конечно такие изменения как ставший функцией метод print и тому подобное уж точно переделаются автоматом. А вот то, что обработка строк коренным образом изменилось в питон 3, это посложнее. Конечно то, что юникод теперь по умолчанию и обработка строк в байтовом и стринговом представлении облегчают работу только при условии написании кода изначально на питон 3, а вот переделку кода с питон 2 это заметно усложняет.
Но, как я уже сказал, будем надеяться во-первых, что код плага таких моментов либо не содержит, либо мизерно содержит, а во-вторых а на что крешлоги системы-то? Они то и любезно нам сообщат, что еще осталось переделать в плаге под питон 3 если что.
Поэтому, давайте прямо вместе с Вами и переделаю один плагин с питона 2 на питон 3, описывая с картинками каждый шаг для наглядности.
Если. как выше показал, питон установили, а также установили (распаковали) библиотеку futurize, хочу вот адаптировать под питон 3 собственный плагин для просмотра IPTV RussianMediaParkTV.
Беру папку плагина с исходниками и копирую всю папку в корень диска С, для быстроты работы модуля переделки. Вот скопировал туда, видно на скрине, и внутри исходные py файлы.
Важное замечание! Необходимо, чтобы в папке плагина присутствовали на момент запуска модуля адаптации абсолютно все файлы без исключения (в том числе и рекурсивно во вложенных папках), иначе пути импорта внутри модулей будете переделывать вручную.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Теперь открываем консоль Винды. Но если не знаете как открыть консоль Винды, то Вы конечно просто попали не в ту тему, быстрее уходите отсюда, не теряйте своего времени даром.
Окно консоли
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Заходим в папку с установленной модулю futurize, обычная команда захода в папку — cd C:\Python27\Lib\site-packages\future-0.18.2
Вставяяяем команду в консоль и нажимаем Enter
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
А дальше чуть внимательнее.
Теперь нужно будет по одному файлу каждый из исходных файлов .py пропустить через этот самый модуль futurize, чтобы он попытался автоматом переделать его под питон 3, при этом если вы далее вручную не тронете его, это будет универсальный код, работающий и на питон 2 одновременно.
Начнем с самого первого файла в корне, это как видите __init__.py
Используем вот такую команду, находясь в консоли в папке модуля futurize
python -m futurize путь_к_исходному_файлу\*.py -w
Значит наша первая команда в консоли по адаптации исходного файла в питон 3 будет выглядеть так
python -m futurize C:\RussianMediaParkTV\__init__.py -w
Это и введем и нажмем Enter
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Как видите, модуль говорит адаптация не требуется. Разумеется, инит то был пустой)))
Но вот далее пойдет веселее.
Следующий в этой папке файл cache.py
python -m futurize C:\RussianMediaParkTV\cache.py -w
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Вот уже изменения пошли. Строчка, которая начинается с минусом — означает удалена, и соответсвенно с плюсом добавлена.
Напоминаю изменения сделаны автоматически.
Не буду тут конечно все однотипные операции со всеми файлами, скажу только, что не забудьте указать правильный путь к файлу, или попросту скопировать путь из заголовка папки Винды, например уже в другой папке данного плагина будет —
python -m futurize C:\RussianMediaParkTV\api\playlist.py -w
После того, как нудно закончил также со всеми файлами-исходниками плагина, просто взял и забросил папку плагина с переделанными исходниками под питон 3 в имидж ОпенАТВ 7, в папку Extensions имиджа.
И сразу попробую запустить плагин, перегрузив имидж. Потому что знаю в данном случае более ничего в имидж устанавливать не нужно.
И да, разумеется еще также заброшу в имидж файлы с папками скинов, которые идут вместе с плагином RussianMediaParkTV.
Эти папки забросим куда надо, то есть в папку имиджа /usr/share/enigma2/.
А также создадим папку russianmediaparktv в папке /etc/russianmediaparktv.. которая так и так создалась бы при установке плагина из ипк.
И ура, как видите на скрине внизу плагин принят третьим питоном ОпенАТВ 7.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Но первая попытка запуска закончилась крешем)))
Это ничего. Открываем крешлог и находим нужное и читаем:
| *File «/usr/lib/enigma2/python/Plugins/Extensions/RussianMediaParkTV/utils.py», line 408 2021-10-03 15:41:53+0500 [-]* * *global Timezone ## Warning: Unused global SyntaxError: name ‘Timezone’ is used prior to global declaration |
Все ясно. Имидж говорит глобальная переменная присвоена раньшше обьявления. Такое принимал питон 2, но питон 3 более строгим оказался. Ладно изменим.
Открываем этот самый файл /usr/lib/enigma2/python/Plugins/Extensions/RussianMediaParkTV/utils.py и переделываем немного код.
Ну раз смысл креша говорит о том, что переменная использована до объявления ее глобальной, просто возьмем и строчку
global Timezone*
перенесем из конца файла в начало ее после импортов, то есть вот сюда, см. на скрине
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Сохраняем, закидывам ы имидж с заменой. Перегружаемся и пытаемся снова запустить.
Скрытый текст

Теперь креш при попытке зайти в раздел НТВ
| *File «/usr/lib/enigma2/python/Plugins/Extensions/RussianMediaParkTV/api/ntv.py», line 101, in start 2021-10-03 16:34:25+0500 [-]* * *spl_for_tel=data.split(‘\n’) 2021-10-03 16:34:25+0500 [-] TypeError: a bytes-like object is required, not ‘str’ |
Также все ясно. Это какраз таки изменившиеся в тройке особенности работы со строками.
Находим в ntv.py строчку 110 и ее меняем таким образом, вот минус и плюс, было и стало
data=bn.decode('windows-1251').encode('utf-8') data=bn.decode('windows-1251').
Вобщем еще несколько крешей получилось и их смысл свелся к тому, что я в нескольких строчках убрал кодирование в юникод, который в двойке нужен был. а в тройке уже вредит так как здесь он по умолчанию идет. То есть везде где было окончание .encode(‘utf-8’), это окончание то и убрал.
Снова запускаем и успех.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Все получилось)))
А мы и не сомневались)))
Удачи в переделках плагинов под питон 3.
Теперь думаю, с помощью этой простой инструкции Вы кинетесь переделывать ваши любимые плагины под питон 3))))
| future-0.18.2.zip (1.011.8 Кб, 48 просмотров) |
Enigma2 какие имиджи на python 3
0 Пользователей и 1 Гость смотрят эту тему.
Страниц: [1] Вверх
- Gisclub
- 4K | HDTV Ресиверы Enigma2
- Общие вопросы для всей линейки ресиверов на Enigma2
- Скины, Локализация (Мастера Джедаи: yuju, martina3)
Похожие темы

Мобильная версия | Карта сайта | Отказ от ответственности | Реклама
Powered by SMF | SMF © 2024, Simple Machines LLC
Gisclub © 2010 — 2024, Все права защищены | Редакция
Продолжая использовать наш форум, Вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу форума. OK
Добро пожаловать!
Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!
Enigma2 какие имиджи на python 3
Страниц:
1 . 8 9 [10] 11 12 . 106
Вниз
Автор Тема: Имиджи HDMU на базе энигмы от Open Pli (Прочитано 811812 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Страниц:
1 . 8 9 [10] 11 12 . 106
Вверх
- Gisclub
- Fulan Spark | Fulan ALi | Fulan Sunplus | Fortis
- Платформа Fulan Spark STI 7111, 7162 (Amiko, GI, GM, EDISION и другие)
- Enigma2 (Мастера Джедаи: yuju, Taapat, linky, Igornord)
Похожие темы
Имиджи HDMU на базе энигмы от Open Pli (Часть 2)

Мобильная версия | Карта сайта | Отказ от ответственности | Реклама
Powered by SMF | SMF © 2024, Simple Machines LLC
Gisclub © 2010 — 2024, Все права защищены | Редакция
Продолжая использовать наш форум, Вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу форума. OK
Добро пожаловать!
Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!