Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Разработка > Поддержка локальной разработки модулей

Ответ
 
Опции темы Опции просмотра
Старый 14.05.2015, 23:22   #11
kit500
Member
 
Регистрация: 02.02.2014
Сообщений: 61
По умолчанию

Цитата:
Сообщение от HAL9000 Посмотреть сообщение
Вот это сомнительно. Питон подгружает модули синхронно. По мере их встречи в коде. Поэтому, пока не загрузятся все модули, указанные в главном скрипте, он не пойдет дальше.
Видимо, имелось в виду, что байт-код .pyo компилируется только для импортируемых модулей но не компилируется для основного файла. Буквально вчера, кстати, вычитал об этой тонкости у Лутца.
kit500 вне форума   Ответить с цитированием
   
Старый 15.05.2015, 13:43   #12
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,945
По умолчанию

Цитата:
Сообщение от kit500 Посмотреть сообщение
Видимо, имелось в виду, что байт-код .pyo компилируется только для импортируемых модулей но не компилируется для основного файла. Буквально вчера, кстати, вычитал об этой тонкости у Лутца.
Не совсем так. Байт-код компилируется всегда, но для основного файла он компилируется каждый раз и не сохраняется, а для импортируемых модулей - сохраняется и перекомпилируется только при их изменении.
Такова реализация CPython.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 21.04.2018, 11:45   #13
HarryFox
Junior Member
 
Регистрация: 23.10.2015
Сообщений: 25
По умолчанию

Не хотелось бы занимтаься некропостингом, но более подходящей темы не нашёл.
Собственно, не побоюсь сказать, что я начинающий разработчик. В связи с тем, что со своим предыдущим проектом наделал много ошибок из-за незнания о существовании тех или иных инструментов, хочу спросить совета у бывалых. На что в первую очередь стоит обратить внимание? На какие либы и инструменты?
Собираюсь писать плагин для удобного просмотра аниме с русабом с сайтов где этот русаб имеется. Хочу сделать упор на удобство, типа выбрал тайтл, запустил и смотришь, без необходимости выбирать какой там саб, какой даб, какая серия, вот это всё.
В общем, прошу любого совета. Статьи 2013 года уже в процессе прочтения. Спасибо.
И также интересно, поддерживает ли текущая версия kodi python 3?

Последний раз редактировалось HarryFox; 21.04.2018 в 12:06.
HarryFox вне форума   Ответить с цитированием
Старый 27.04.2018, 16:40   #14
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,945
По умолчанию

Статьи писались давно, и, честно говоря, плохо помню, что я там писал. Некоторые вещи могли устареть, но общие принципы должны остаться. И в последнее время я отошел от написания аддонов, хотя и продолжаю поддерживать несколько проектов, связанных с Коди.

В принципе, написание аддона для Коди ничем не отличается от написания любого другого проекта на Питоне: берете свою любимую среду или редактор кода и пишете. Но в связи с тем, что Питон внутри Коди - закрытая система, имеются некоторые особенности.

1) Модули Kodi API xbmc* не существуют вне Коди. Для использования в редакторе кода существуют модули-заглушки: https://github.com/romanvm/Kodistubs В последней версии они были полностью переработаны и достаточно точно воспроизводят API Коди 17.
2) В Коди нет консоли. Чаще всего отладка ведется путем сброса сообщений в лог, но можно использовать удаленный отладчик, например такой: https://github.com/romanvm/kodi.web-pdb

Переход на Питон 3 запланирован через версию - в 19.х.

Вообще, у вас слишком общие вопросы. Спрашивайте что-нибудь конкретное, постараюсь ответить, но не обещаю, что смогу отвечать быстро.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 03.05.2018, 20:05   #15
HarryFox
Junior Member
 
Регистрация: 23.10.2015
Сообщений: 25
По умолчанию

Спасибо за ответ.
И у меня дело идёт небыстро. Вот намедни дописал парсер с минимальными возможностями для одного сайта.
Тогда ещё были вопросы о предпочитаемой структуре данных (как организовывать данные о тайтлах в словаре), но в прицнипе с этим я примерно угадал. Практически идентично оф. примерам (которые судя по всему писали тоже Вы).
Далее написал первичный можно сказать хеллоуворлд с kodiswift. В консоли виртуальные айтемы выводятся, но дополнение установить не могу. Плохо, что даже не могу найти логов с причиной отказа установки.
Во время поиска причины появился другой вопрос касательно импорта сторонних модулей. Т.е. я понял, что даже не знаю какими модулями питон ограничен, имеет ли он свой репозиторий или использует PyPi.
Думаю, что проблема как раз с импортом модулей.
Эхх, для меня сейчас это психологический барьер запустить свои ссылки в виде виртуальной папки в kodi, чтобы пойти, наконец, дальше.
Но в общем все эти вопросы вероятнее всего уже будут решены к моменту следующего ответа, т.к. проблемы постоянно появляются и решаются гуглом , благо английского достаточно чтобы читать статьи\комменты.
Жаль ещё что большинство плагинов не сопровождается комментариями от слова совсем.


Спрашивать лучше думаю об общих рекоммендациях, они больше относятся к будущему, вопросы, которые я ещё не гуглил:
Стоит ли использовать kodiswift?

Да уж, большинство вопросов выше решил пока писал это сообщение. Своё дополнение установить в коди смог, проблема была либо в неправильной упаковке либо в addon.xml.
Вот только вышло так, что сайт который я парсил закрылся на несколько дней на «серьезную реконструкцию» и похоже мне придётся все переделывать заново.

В общем сложно сейчас сформулировать какие-то конкретные вопросы которые не могут решиться гуглом. Работа идёт, вместо того сайта буду писать парсер на другой, а как опять дойдёт дело до интерфейса... Да, с интерфейсом что-то пока дела у меня идут туговато.
HarryFox вне форума   Ответить с цитированием
Старый 04.05.2018, 10:48   #16
-=Vd=-
Senior Member
 
Аватар для -=Vd=-
 
Регистрация: 14.02.2012
Адрес: Одесса
Сообщений: 1,323
Отправить сообщение для -=Vd=- с помощью Skype™
По умолчанию

Это правильное решение написать кодинезависимый парсер, для интерфейса рекомендую использовать фреимворк simpleplugin от Романа, там всё очень хорошо задокументировано и намного проще чем использовать API коди напрямую.
__________________
Media Aggregator (виртуальная медиатека) - http://xbmc.ru/forum/showthread.php?t=10592
Lazy F1 - http://xbmc.ru/forum/showthread.php?t=14300
-=Vd=- вне форума   Ответить с цитированием
Старый 04.05.2018, 14:03   #17
vl.maksime
Senior Member
 
Аватар для vl.maksime
 
Регистрация: 18.10.2015
Адрес: Donetsk, Ukraine
Сообщений: 401
По умолчанию

Для удобства, я выношу парсер в отдельный модуль, который не использует библиотеки KODI. Это позволяет тестировать и отлаживать его независимо от KODI.
Далее я реализую обработчик событий для самого KODI, который вызывает парсер и обрабатывает его результат. Для формирования виртуальных папок использую модуль simpleplugin'a. Предлагаю попрактиковаться на 2й версии модуля, т.к. в 3й версии отсутствует обертка для формирования виртуальных папок.
Для себя сделал некую надстройку, из 2й версии вырезал функции и выделил их в отдельный класс. Совместив simpleplugin 3.0 и новый класс, получил подобие simpleplugin'a 2й версии. С результатом можно ознакомиться тут: simplemedia.
Для тестирования написанного модуля я начал использовать библиотеку Kodistubs. Т.к. библиотека содержит только заглушки, я ее дополнил эмуляцией поведения KODI и выводом отладочной информации. Доработанная библиотека доступна ТУТ.
Пример использования можно посмотреть в этом файле: https://github.com/vlmaksime/plugin....velop/tests.py, правда здесь немного не актуальная версия, вечером постараюсь обновить.
__________________
Репозиторий: https://github.com/vlmaksime/repository.vlmaksime/releases
Опрос по используемым версиям: http://xbmc.ru/forum/showthread.php?t=15419

Последний раз редактировалось vl.maksime; 04.05.2018 в 15:07.
vl.maksime на форуме   Ответить с цитированием
Старый 04.05.2018, 18:27   #18
HarryFox
Junior Member
 
Регистрация: 23.10.2015
Сообщений: 25
По умолчанию

Большое спасибо, это как раз то, что нужно!
Ещё не совсем разобрался как пользоваться заглушками, но думаю разберусь быстро.
Я хотел попрактиковаться в ООП, поэтому вынос парсера в отдельный модуль для меня изначально было очевидным решением, но также ещё и потому, чтобы после того как плагин выйдет в свет эти модули, если вдруг кому-то захочется, могли использовать все желающие.


Отправлено с моего Redmi 5 Plus через Tapatalk
HarryFox вне форума   Ответить с цитированием
Старый 05.05.2018, 11:51   #19
HarryFox
Junior Member
 
Регистрация: 23.10.2015
Сообщений: 25
По умолчанию

Появился таки один насущный вопрос.
Встретилось мне на одном сайте, что файлы видео разбиваются на несколько частей (видимо в зависимости от размера). Ссылки на них даются прямые, но одна условная серия состоит из нескольких видео.
Существует ли возможность в коди объединить эти потоки в один условный виртуальный файл, как это делается с папками? Необходимость объединения также обуславливается наличием субтитров в отдельном файле, т.е. таймлайн для нескольких видеофайлов должен быть единым.

Нужно просто узнать, есть ли такая возможность или нет. Всё-таки на том сайте прямые ссылки на видео в хорошем разрешении. Да, доставать ссылки будет неудобно, но это всё решаемо (наверно).

UPD
Нашёл что-то похожее https://kodi.wiki/view/Advancedsetti...#moviestacking . Написано алгоритм работает с regexpression, значит нужно просто правильно назвать файлы и расположить в одной виртуальной директории. Плохо, что каждая серия будет находиться в отдельной "директории", чего бы очень хотелось избежать.

Последний раз редактировалось HarryFox; 05.05.2018 в 12:02.
HarryFox вне форума   Ответить с цитированием
Старый 05.05.2018, 21:13   #20
vl.maksime
Senior Member
 
Аватар для vl.maksime
 
Регистрация: 18.10.2015
Адрес: Donetsk, Ukraine
Сообщений: 401
По умолчанию

А в каком виде Вы получаете информацию? Если это *.hls файл, то Вам достаточно скормить эту ссылку KODI и он ее воспроизведет.
__________________
Репозиторий: https://github.com/vlmaksime/repository.vlmaksime/releases
Опрос по используемым версиям: http://xbmc.ru/forum/showthread.php?t=15419
vl.maksime на форуме   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка плагинов при запуске xbmc georgi1985 Помощь по плагинам 14 29.05.2013 13:37
Переименование плагинов N501071 Помощь по плагинам 4 06.01.2012 17:22
Глюки плагинов Radist73 Помощь по плагинам 15 28.04.2011 18:36
При включении плагинов XBMC виснет Mrak Помощь по плагинам 0 02.03.2011 18:24
xbmc pre- 10.5 (r30...) Установка плагинов Asura Помощь по плагинам 5 10.06.2010 09:15


Текущее время: 08:38. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.