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

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

Ответ
 
Опции темы Опции просмотра
Старый 18.03.2017, 22:09   #11
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Цитата:
Сообщение от vl.maksime Посмотреть сообщение
Но я здесь вижу большую проблему в обратной совместимости. Для того, чтоб обеспечить загрузку сохраненных в закладках или *.strm ссылок, параметры придется вставлять только в конец. На приведенном примере, для ссылки "plugin://script.plugin/play/1/2/", все новые параметры придется писать в конец, и не известно насколько она будет красивей после всех добавлений. А если мы добавим какой-то параметр между play и 1, то вся логика дополнения сломается.
На самом деле вопрос не стоит "или так/или эдак". Красивые УРЛ-ы можно совмещать с передачей параметров через квери-строку (как это собственно делается в питоновских веб-ферймоврках).

Но если вы поменяете логику обработки путей в своем плагине, существующие ссылки в .strm и Избранном по-любому поломаются.
__________________
Координатор русского перевода 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 вне форума   Ответить с цитированием
   
Старый 18.03.2017, 22:20   #12
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Цитата:
Сообщение от HAL9000 Посмотреть сообщение
И единственная проблема, которую я обнаружил (но так и забил на нее) – это то, что Kodi запоминает настройки сортировки, вида отображения (список, иконки и т.д.) и тому подобное на основе пути. Поэтому, если меняется расположение параметров в пути после "?", то для Kodi это новая страница и пользователю нужно заново выставлять вид отображения (например). Если использовать не параметрический URL, а ЧПУ, то проблема никуда не девается. Поэтому, повторюсь, абсолютно плевать как выглядит путь в Kodi.
Если, к примеру, мы делаем постраничное отображение и у нас меняется только номер страницы, то остроту проблемы частично снимает использование параметра updateListing для страниц дальше 1-й.


Цитата:
Вторая – переменная. В ней бы я передавал все те параметры, которые не меняли бы класс-обработчик (например – номер страницы при листании большого списка). Эти переменные не нужно совать в путь. Тогда, например, при перелистывании страниц все настройки отображения не собьются – ведь Kodi будет думать, что это одна и та же страница (в пути будет только первая часть роутинга). Как передавать эти переменные параметры (если не через путь)? Да любым способом. Я об этом плотно не думал, но можно например через сохранения их во временный файл.
В качестве временного хранилища можно использовать окна Коди, вызываемые через класс xbmcgui.Window с ИД существующего окна. Методы setPpropery и getProperty позволяют сохранять и доставать произвольные строковые данные, а и использованием pickle - почти любые питоновские. Такое хранилище можно использовать для обмена данными между процессами или кэша в памяти. Получается эдакий Redis для бедных.
__________________
Координатор русского перевода 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 вне форума   Ответить с цитированием
Старый 19.03.2017, 10:54   #13
vl.maksime
Senior Member
 
Аватар для vl.maksime
 
Регистрация: 18.10.2015
Адрес: Donetsk, Ukraine
Сообщений: 634
По умолчанию

Если не ошибаюсь, то в Вашем дополнении EX.ua автоматически воспроизводился следующий файл. Не пойму, как добиться такого результата?
vl.maksime вне форума   Ответить с цитированием
Старый 19.03.2017, 12:14   #14
nightik
Senior Member
 
Регистрация: 12.12.2012
Сообщений: 1,684
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
Я согласен, что в веб-приложениях, красивые УРЛ-ы удобны для пользователей и полезны для СЕО. Но в Коди их никто не видит, кроме тех, кто додумается заглянуть в лог.
но дополнение может использоваться и другими дополнениями и помнить имена всех параметров (url там или uri, serial или show или tvshow) затруднительно

но, судя по вашему ответу вы уже всё решили. зачем тогда спрашивать?


Цитата:
Сообщение от vl.maksime Посмотреть сообщение
Но я здесь вижу большую проблему в обратной совместимости. Для того, чтоб обеспечить загрузку сохраненных в закладках или *.strm ссылок, параметры придется вставлять только в конец. На приведенном примере, для ссылки "plugin://script.plugin/play/1/2/", все новые параметры придется писать в конец, и не известно насколько она будет красивей после всех добавлений. А если мы добавим какой-то параметр между play и 1, то вся логика дополнения сломается.
для этого используются значения по-умолчанию, и ваш пример явно высосан из пальца, обеспечить обратную совместимость API - это не проблема от слова совсем.

зы. в любом случае мне пофигу, я просто пройду мимо
nightik вне форума   Ответить с цитированием
Старый 20.03.2017, 16:34   #15
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Цитата:
Сообщение от vl.maksime Посмотреть сообщение
Если не ошибаюсь, то в Вашем дополнении EX.ua автоматически воспроизводился следующий файл.
Ошибаетесь. Никаких специальных функций для этого в том плагине нет.
__________________
Координатор русского перевода 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 вне форума   Ответить с цитированием
Старый 20.03.2017, 16:50   #16
vl.maksime
Senior Member
 
Аватар для vl.maksime
 
Регистрация: 18.10.2015
Адрес: Donetsk, Ukraine
Сообщений: 634
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
Ошибаетесь. Никаких специальных функций для этого в том плагине нет.
Неужели что-то перепутал. Или оно так получилось само собой?

Последний раз редактировалось vl.maksime; 20.03.2017 в 16:59.
vl.maksime вне форума   Ответить с цитированием
Старый 20.03.2017, 17:22   #17
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,106
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
В качестве временного хранилища можно использовать окна Коди, вызываемые через класс xbmcgui.Window с ИД существующего окна. Методы setPpropery и getProperty позволяют сохранять и доставать произвольные строковые данные, а и использованием pickle - почти любые питоновские. Такое хранилище можно использовать для обмена данными между процессами или кэша в памяти. Получается эдакий Redis для бедных.
Классная, кстати, идея! Фактически полноценные cookies, но без заморочек с временными файликами
__________________
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 вне форума   Ответить с цитированием
Старый 20.03.2017, 19:03   #18
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,946
По умолчанию

Цитата:
Сообщение от nightik Посмотреть сообщение
но дополнение может использоваться и другими дополнениями и помнить имена всех параметров (url там или uri, serial или show или tvshow) затруднительно

но, судя по вашему ответу вы уже всё решили. зачем тогда спрашивать?
Естественно, у меня есть свое мнение на этот счет, но хотелось бы узнать и мнение других. Я в свое время ради интереса набросал примерную реализацию "красивых путей", и было интересно, стоит ли вообще заморачиваться с допиливанием. В варианте с красивыми путями мне не нравятся издержки на парсинг этих самых путей. Текущая реализация сделана на словарях и достаточно быстрая, т. к. словари в Питоне неплохо вылизаны.

Что касается использования другими дополнениями, то ИМХО здесь больше важно, насколько хорошо документирован API плагина, чем красивость путей.
__________________
Координатор русского перевода 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 вне форума   Ответить с цитированием
Старый 20.03.2017, 20:15   #19
-=Vd=-
Senior Member
 
Аватар для -=Vd=-
 
Регистрация: 14.02.2012
Адрес: Одесса
Сообщений: 1,477
Отправить сообщение для -=Vd=- с помощью Skype™
По умолчанию

Мне вариант с текущей реализацией нравится. Информативно. Предпочитаю именованные параметры.

Отправлено с моего Redmi Note 3 через Tapatalk
__________________
Media Aggregator (виртуальная медиатека) - http://xbmc.ru/forum/showthread.php?t=10592
Lazy F1 - http://xbmc.ru/forum/showthread.php?t=14300
-=Vd=- вне форума   Ответить с цитированием
Старый 20.03.2017, 23:19   #20
nightik
Senior Member
 
Регистрация: 12.12.2012
Сообщений: 1,684
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
Естественно, у меня есть свое мнение на этот счет, но хотелось бы узнать и мнение других. Я в свое время ради интереса набросал примерную реализацию "красивых путей", и было интересно, стоит ли вообще заморачиваться с допиливанием. В варианте с красивыми путями мне не нравятся издержки на парсинг этих самых путей. Текущая реализация сделана на словарях и достаточно быстрая, т. к. словари в Питоне неплохо вылизаны.

Что касается использования другими дополнениями, то ИМХО здесь больше важно, насколько хорошо документирован API плагина, чем красивость путей.
query.split("/") - это сложно, понимаю

я своё мнение высказал. я, увы, одинок в своём мнении, так что не заморачивайтесь, вы, явно, этого не желаете.
nightik вне форума   Ответить с цитированием
Ответ
 


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

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

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


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


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


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