Приветствую Вас, Гость!
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: Zeltorix  
Как это сделать
qazerr | 16.01.2026, 11:38 | # 31
Репутация: 13
gp, судя по github люди часто используют эти 2 вызова, но не ясно работают ли они правильно)
https://github.com/search?....pe=code
https://github.com/search?....pe=code

можете ещё на  официальном форуме коди спросить.
 
gp | 16.01.2026, 14:28 | # 32
Репутация: 3
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
Репутация: 16
Эта функция уже реализована на уровне ТАМ.
 
gp | 29.01.2026, 22:05 | # 34
Репутация: 3
Цитата 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
Репутация: 0
Поддался пагубному вайбкодингу. на основе TorrServer Client вырезая лишнее и добавляя нужное делаю проверку выхода новых серий. проверка выполняется в сервисе service.py в корне, рядом с корневым navigation.py. И не получается для service.py сделать обход блокировки tmdb. в самом плагине /resources/site-packages/torrserve/search.py читает настройки плагина и хорошо работает. вот заставить работать service.py не могу, по логам получается таймаут запроса. дипсик и гугловый ИИ пасуют второй день.
 
gp | 14.06.2026, 21:17 | # 36
Репутация: 3
JohnDoe_71Rus, что показывает nslookup api.tmdb.org (ну или куда там запрос делается)?

Сообщение отредактировал gp - Воскресенье, 14.06.2026, 21:17
 
JohnDoe_71Rus | 15.06.2026, 14:09 | # 37
Репутация: 0
вот такой вот нейрослоп. вроде как сам вызов 
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 обходит блокировку и показывает списки сериалов и фильмов.
Прикрепления: service.py (6.5 Kb)
 
gp | 18.06.2026, 11:13 | # 38
Репутация: 3
JohnDoe_71Rus, ссылки бы на упомянутые в сообщении файлы. По выложенному кусочку ничего кроме как предположить, что реальная проблема с dns или tmdb_api.get_tv_show(tmdb_id) генерирует кривой юрл нельзя.
 
JohnDoe_71Rus | 18.06.2026, 18:56 | # 39
Репутация: 0
извини, думал плагин известный.
 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
Репутация: 3
JohnDoe_71Rus,  cоветую временно убрать try/except при вызове check_updates() и внутри нее, а также логировать все что можно
 
qazerr | 20.06.2026, 17:50 | # 41
Репутация: 13
Цитата 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
Репутация: 0
да в 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")')
 
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: