|
Как это сделать
|
|
| qazerr | 16.01.2026, 11:38 | # 31 |
|
|
gp, судя по github люди часто используют эти 2 вызова, но не ясно работают ли они правильно) https://github.com/search?....pe=code https://github.com/search?....pe=code
можете ещё на официальном форуме коди спросить.
|
|
| |
| gp | 16.01.2026, 14:28 | # 32 |
|
|
qazerr, победил) правильно делать так:
Код litem.addContextMenuItems([ ('Info', 'Action(Info)') ])
без xbmc.executebuiltin()Добавлено (27.01.2026, 10:42) --------------------------------------------- Доброго дня! Очередной детский вопрос. Есть плагин занимающися воспроизведением видео из торрент файлов. Сейчас устроенно так: 1. для всех торрентов делаем setProperty('isPlayable', 'true') при выборе конретного торрента, качаем его и получаем список видео файлов, 2. если файл 1 - через TAM запускаем воспроизведение (эта ветка кода работает как надо) 3. если видео файлов в торренте несколько, делаем Container.Update(url) на код выводящий список файлов. На шаге 3 закономерно прилетает "Playlist Player: skipping unplayable item..." от Коди.
Как побороть не потеряв возможность воспроизводить торренты с одним видео без вывода списка содержимого ?
|
|
| |
| tdw1980 | 29.01.2026, 15:53 | # 33 |
|
Эта функция уже реализована на уровне ТАМ.
|
|
| |
| gp | 29.01.2026, 22:05 | # 34 |
|
|
Цитата tdw1980 (  ) Эта функция уже реализована на уровне ТАМ. Спасибо, посмотрел код (к сожалению, проверить выводы на практике до воскресенья не могу). 1. list_bencode() возвращает в Open() полный список файлов. Для ТАМ это наверное верно, но у меня более жесткое требование - только видио файлы. Соответсвенно в TAM эта фича не сработает если в торренте лежат например 1.srt, 1.jpg и 1.avi А мне хочется) 2. Мне хочется иметь доступ к списку файлов для обработки (т.е. использовать только TAM.play) 3. Мне кажется вызов endOfDirectory( ,False, False) должен выдавать что-то типа Error opening directory в лог. Не?
Если перефразировать мой вопрос, то будет звучать как-то так: Если для listItem() был поставлен флаг IsPlayable=True, то как его не проигрывать, а передать управление куда-то еще без ругани со стороны Kodi?
|
|
| |
| JohnDoe_71Rus | 14.06.2026, 13:04 | # 35 |
|
|
Поддался пагубному вайбкодингу. на основе TorrServer Client вырезая лишнее и добавляя нужное делаю проверку выхода новых серий. проверка выполняется в сервисе service.py в корне, рядом с корневым navigation.py. И не получается для service.py сделать обход блокировки tmdb. в самом плагине /resources/site-packages/torrserve/search.py читает настройки плагина и хорошо работает. вот заставить работать service.py не могу, по логам получается таймаут запроса. дипсик и гугловый ИИ пасуют второй день.
|
|
| |
| gp | 14.06.2026, 21:17 | # 36 |
|
|
JohnDoe_71Rus, что показывает nslookup api.tmdb.org (ну или куда там запрос делается)?
Сообщение отредактировал gp - Воскресенье, 14.06.2026, 21:17
|
|
| |
| JohnDoe_71Rus | 15.06.2026, 14:09 | # 37 |
|
|
вот такой вот нейрослоп. вроде как сам вызов tmdb_data = tmdb_api.get_tv_show(tmdb_id) /tmdb/api.py такое же как в torrserv client плагине. проверка обрывается на [ShowMonitor]Критическая ошибка в цикле сервиса: urlopen error [Errno -3] Temporary failure in name resolution
одновременно с этим, модуль /resources/site-packages/torrserve/search.py в связке с тем же самым /tmdb/api.py обходит блокировку и показывает списки сериалов и фильмов.
|
|
| |
| gp | 18.06.2026, 11:13 | # 38 |
|
|
JohnDoe_71Rus, ссылки бы на упомянутые в сообщении файлы. По выложенному кусочку ничего кроме как предположить, что реальная проблема с dns или tmdb_api.get_tv_show(tmdb_id) генерирует кривой юрл нельзя.
|
|
| |
| JohnDoe_71Rus | 18.06.2026, 18:56 | # 39 |
|
|
извини, думал плагин известный. https://github.com/virserg/kodirepo/tree/master/zips/plugin.video.torrserve конкретно version="0.8.1"
пока выяснилось что service.py и обычный плагин в интерфейсе работают как бы в разных окружениях что ли. несмотря на то что service.py имеет доступ к настройкам плагина.
|
|
| |
| gp | 19.06.2026, 21:03 | # 40 |
|
|
JohnDoe_71Rus, cоветую временно убрать try/except при вызове check_updates() и внутри нее, а также логировать все что можно
|
|
| |
| qazerr | 20.06.2026, 17:50 | # 41 |
|
|
Цитата JohnDoe_71Rus (  ) пока выяснилось что service.py и обычный плагин в интерфейсе работают как бы в разных окружениях что ли. несмотря на то что service.py имеет доступ к настройкам плагина. быстро глянул код, там в resources/site-packages/tmdb/api.py есть block_tmdb = addon.getSetting('block_tmdb') == 'true' block_tmdb_dns = addon.getSetting('block_tmdb_dns') == 'true'
добавьте туда же print() для них чтобы проверить что у вас настройки подтягиваются, когда вы вызываете его через service.py.
|
|
| |
| JohnDoe_71Rus | 20.06.2026, 22:50 | # 42 |
|
|
да в resources/site-packages/tmdb/api.py есть все необходимое. def first_search() там вызывается один раз для проверки блокировки и сохраняет настройки какие методы применять для обхода. Подсмотрел у других и перенес def monitor_update(), def check_updates() и def create_strm_file() в library.py где уже ведется работа с .strm файлами. И оно заработало как надо.
а в service.py оставил только xbmc.executebuiltin('RunPlugin("plugin://plugin.video.get_tmdb/?action=monitor_update")')
|
|
| |