Форум XBMC \ Kodi Russia
   

Вернуться   Форум XBMC \ Kodi Russia > Разработка > Поддержка локальной разработки модулей

Ответ
 
Опции темы Опции просмотра
Старый 21.03.2017, 00:42   #21
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от nightik Посмотреть сообщение
query.split("/") - это сложно, понимаю
Вы, если не ошибаюсь, в вашем форке xbmctorrent используете xbmcswift2. Вот и покажите пример - засуньте туда ваш query.split("/") вместо того излишне усложненного на мой взгляд решения для раутинга, что там используется. Лично я незаморочных решений для раутинга а-ля Flask не видел (для Коди, кстати, есть еще script.module.routing чисто для раутинга).
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 7 (Kodi 16.x)
Acer IconiaTab A510 + Kodi 14.2 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M на форуме   Ответить с цитированием
 

Старый 21.03.2017, 12:14   #22
nightik
Senior Member
 
Регистрация: 12.12.2012
Сообщений: 1,492
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
Вы, если не ошибаюсь, в вашем форке xbmctorrent используете xbmcswift2. Вот и покажите пример - засуньте туда ваш query.split("/") вместо того излишне усложненного на мой взгляд решения для раутинга, что там используется. Лично я незаморочных решений для раутинга а-ля Flask не видел (для Коди, кстати, есть еще script.module.routing чисто для раутинга).
зачем? работает - не лезь.
если script.module.routing по-вашему излишне замороченный, то тем более оставьте эту идею как страшный сон.
nightik вне форума   Ответить с цитированием
Старый 24.03.2017, 23:51   #23
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,859
По умолчанию

Выпустил версию 2.2.0. Нововведения:

- Добавил функцию-контекстный менеджер debug_exception, которая выводит в лог расширенную отладочную информацию, если в пределах ее действия возникает исключение. Информация включает в себя: имя файла, кусок кода, где возникло исключение, глобальные и локальные переменные по состоянию на момент исключения.
Этим контекстным менеджером можно накрывать потенциально опасные участки или же весь вызов plugin.run().

- Добавил класс MemStorage для временного хранения данных в памяти и/или обмена данными между разными процессами, а также соответствующий декоратор mem_cached для кэширования данных в памяти.

- Категория плагина теперь выставляется через Plugin.create_listing() (по просьбе vl.maksime).

- Аргумент (params) у функций с декоратором @plugin.action() теперь необязательный. Если функция-action не использует никаких параметров, аргумент можно не ставить.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 7 (Kodi 16.x)
Acer IconiaTab A510 + Kodi 14.2 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M на форуме   Ответить с цитированием
Старый 02.04.2017, 23:25   #24
vl.maksime
Senior Member
 
Регистрация: 18.10.2015
Адрес: Donetsk, Ukraine
Сообщений: 192
По умолчанию

Начиная с 18 версии для listitem.setInfo('video', info) в качестве значения полей "жанр", "страна" и др. можно задавать через список. Можете добавить обратную совместимость, чтоб для версий ниже 18 производилось объединение списка в строку?

https://codedocs.xyz/xbmc/xbmc/group...44942888fb5f14
Цитата:
v18 Python API changes:
Added new game type and associated infolabels. Added labels setoverview, tag, sortepisode, sortseason, episodeguide, showlink. Extended labels genre, country, director, studio, writer, tag, credits to also use a list of strings.
И еще, может будет актуально для пользователей старых версий сделать пересчет продолжительности из секунд в минуты?
Цитата:
v15 Python API changes:
duration has to be set in seconds.

Последний раз редактировалось vl.maksime; 02.04.2017 в 23:40.
vl.maksime вне форума   Ответить с цитированием
Старый 04.04.2017, 15:54   #25
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,859
По умолчанию

Честно говоря, вижу смысл поддерживать только первичные параметры, выставляемые через методы ListItem. Всяких расширенных свойств куча разных, особенно в последних версиях API, и проверку их валидности пусть лучше делает тот, кто эти свойства использует.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 7 (Kodi 16.x)
Acer IconiaTab A510 + Kodi 14.2 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M на форуме   Ответить с цитированием
Старый 05.04.2017, 10:21   #26
vl.maksime
Senior Member
 
Регистрация: 18.10.2015
Адрес: Donetsk, Ukraine
Сообщений: 192
По умолчанию

А можете упростить жизнь, добавив функцию, возвращающую версию KODI?
vl.maksime вне форума   Ответить с цитированием
Старый 05.04.2017, 10:26   #27
-=Vd=-
Senior Member
 
Аватар для -=Vd=-
 
Регистрация: 14.02.2012
Адрес: Одесса
Сообщений: 903
Отправить сообщение для -=Vd=- с помощью Skype™
По умолчанию

Цитата:
Сообщение от vl.maksime Посмотреть сообщение
А можете упростить жизнь, добавив функцию, возвращающую версию KODI?
Эээ...
Код:
xbmc.getInfoLabel('System.BuildVersion')
__________________
Media Aggregator (виртуальная медиатека) - http://xbmc.ru/forum/showthread.php?t=10592
Lazy F1 - http://xbmc.ru/forum/showthread.php?t=14300
-=Vd=- вне форума   Ответить с цитированием
Старый 05.04.2017, 13:18   #28
vl.maksime
Senior Member
 
Регистрация: 18.10.2015
Адрес: Donetsk, Ukraine
Сообщений: 192
По умолчанию

Цитата:
Сообщение от -=Vd=- Посмотреть сообщение
Эээ...
Код:
xbmc.getInfoLabel('System.BuildVersion')
Ну оптимальным при разработке является вынос часто повторяемых процедур и функций в общие модули.

Можно это сделать и в модуле своих дополнений. Но тогда эту небольшую функцию из одной строки придется вставлять в каждое дополнение. Т.к. во всех дополнениях будет использоваться simpleplugin, удобней было бы поместить эту процедуру в этот модуль.

Мое дело предложить, если же Роман посчитает, что эта опция в его модуле лишняя, то буду добавлять эту функцию в свои модули.
vl.maksime вне форума   Ответить с цитированием
Старый 05.04.2017, 20:48   #29
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,093
По умолчанию

Цитата:
Сообщение от vl.maksime Посмотреть сообщение
Ну оптимальным при разработке является вынос часто повторяемых процедур и функций в общие модули.

Можно это сделать и в модуле своих дополнений. Но тогда эту небольшую функцию из одной строки придется вставлять в каждое дополнение. Т.к. во всех дополнениях будет использоваться simpleplugin, удобней было бы поместить эту процедуру в этот модуль.

Мое дело предложить, если же Роман посчитает, что эта опция в его модуле лишняя, то буду добавлять эту функцию в свои модули.
А мне кажется не стоит этого делать. Обертка/библиотека должна или объединять несколько функций в одну или менять одну, делая ее более удобнее (это для замены монстроюзных функций). Функцию xbmc.getInfoLabel('System.BuildVersion') максимум можно заменить на mylib.version(). То же самое. Но потом придется все это поддерживать.
__________________
RuTracker: http://xbmc.ru/forum/showthread.php?t=2243
Ruhunt.Pulsar: http://xbmc.ru/forum/showthread.php?t=6759
Last.VK: http://xbmc.ru/forum/showthread.php?t=3709
Lovi.fm: http://xbmc.ru/forum/showthread.php?t=6758
HAL9000 вне форума   Ответить с цитированием
Старый 06.04.2017, 13:47   #30
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от HAL9000 Посмотреть сообщение
А мне кажется не стоит этого делать. Обертка/библиотека должна или объединять несколько функций в одну или менять одну, делая ее более удобнее (это для замены монстроюзных функций). Функцию xbmc.getInfoLabel('System.BuildVersion') максимум можно заменить на mylib.version(). То же самое. Но потом придется все это поддерживать.
Согласен. Экономия нескольких символов при наборе == экономия на спичках.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 7 (Kodi 16.x)
Acer IconiaTab A510 + Kodi 14.2 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M на форуме   Ответить с цитированием
Ответ
 


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
script.module.torrent2http - движок стримминга торрентов. -=Vd=- Помощь по плагинам 54 16.05.2017 00:09
PyXBMCt - фреймворк для создания интерфейса плагинов Roman_V_M Поддержка локальной разработки модулей 22 28.03.2017 09:01
script.module.remote-pdb: удаленный консольный отладчик для плагинов Roman_V_M Поддержка локальной разработки модулей 18 06.10.2016 14:42
[All] script.module.antizapret - Обход блокировок для плагинов nightik Помощь по плагинам 28 15.06.2016 20:43
Библиотека для фото runkov Подсказки, описания и FAQ по XBMC 5 22.10.2010 11:29


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


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