Приветствую Вас, Гость!
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Zeltorix  
Как это сделать
Zeltorix | 14.02.2024, 22:08 | # 1
Репутация: 12
Явно не хватает этой темы.
Новичков как понимаю появляются больше, будет полезно не только им)


Скрывайте ссылки и способы обхода от роскомтян)
 
Zeltorix | 14.02.2024, 22:14 | # 2
Репутация: 12
Начнём)
Возможно ли создать свою вкладку на начальном экране, не переписывая обложку?
Прикрепления: 5343258.png (111.6 Kb)


Скрывайте ссылки и способы обхода от роскомтян)
 
labideb | 14.02.2024, 23:46 | # 3
Репутация: 0
Есть моды, где это можно сделать в пару кликов. Сам пользуюсь таким: https://github.com/b-jesch/skin.estuary.modv2

Добавлено (14.02.2024, 23:54)
---------------------------------------------
Подскажите, пожалуйста, может кто то сталкивался. Возможно ли передать в какой либо торрент движок список торрентом. Или возможно их как то объеденить в один? В чем проблема, поломался анимепортал с анистаром. Начал его неспешно ковырять. Написал параметры и готовлюсь передавать торрента в kodi (не разу не писал плагины, поэтому откладываю как могу из страха завязнуть). А, так вот, анистар отдает каждую серию отдельным файлом, что будет неудобно в интерфейсе и не только. Мне каждую серию придется отдельно в TAM. Да и в отслеживание в kodi будет не удобно. Подскажите, с какой стороны можно подойти к этой проблеме?

 
tdw1980 | 15.02.2024, 14:18 | # 4
Репутация: 7
Цитата Zeltorix ()
Возможно ли создать свою вкладку на начальном экране, не переписывая обложку?
Использовать Скин(обложку) Коди с поддержкой данной функции. 
Стандартная обложка позволяет только скрыть некоторые пункты.
 
Zeltorix | 16.02.2024, 21:44 | # 5
Репутация: 12
Цитата labideb ()
Есть моды, где это можно сделать в пару кликов. Сам пользуюсь таким: https://github.com/b-jesch/skin.estuary.modv2
Цитата tdw1980 ()
Использовать Скин(обложку) Коди с поддержкой данной функции.
 Хотелось бы что бы это можно было использовать без привязки к определённым скинам. 
Цитата labideb ()
В чем проблема, поломался анимепортал с анистаром. Начал его неспешно ковырять.
Может сам автор(NIV) быстрее поправит свой плагин, на этом форуме он есть?)


Скрывайте ссылки и способы обхода от роскомтян)
 
tdw1980 | 17.02.2024, 13:12 | # 6
Репутация: 7
Вот давно думаю почему нет такой стандартной функции в как добавить ярлык в главное меню. Как в Избранное. Но чего нет того нет. И каждый скинописец реализует это самостоятельно.
 
labideb | 21.02.2024, 16:48 | # 7
Репутация: 0
Пытаюсь написать первый плагин. И уже не знаю куда смотреть. Может подскажите?
В чем проблема. Получаю ссылки на торрент файлы и пытаюсь построить их список. Список формируется, но при выборе файла воспроизведение не начинается. Разные движки ведут себя по разному. ТАМ показывает пустую папку, Torrest- начинает скачивание файла. Гляньте, пожалуйста, может я что то делаю совсем не так?!

@dataclass
class Torrest:
url: str

def __str__(self):
link = f'plugin://plugin.video.torrest/play_url?url={self.url}'
return link


@dataclass
class TAM:
mode: str
url: str
index: int = 1
info: str = ''
engine: str = ''
ad: str = ''

def __str__(self):
link: str = f'plugin://plugin.video.tam/?mode={self.mode}&url={quote_plus(self.url)}'
if self.info:
link = link+'&info='+self.info
if self.engine:
link = link+'&engine='+self.engine
if self.ad:
link = link+'&ad='+self.ad
return str(link)

def get_series(title_id):
output_list = []
mode = 'play'
series_list = get_series_hlink(title_id)
for item in series_list:
hlink = quote_plus(item["hlink"])
poster = ADDON_PATH+get_poster(title_id)
context = ListItem('Серия '+item["episode"])
context.setInfo('video', infoLabels={'genre': 'anime'})
context.setArt({"poster": poster, "thumb": poster})
context.setProperty('IsPlayable', 'true')
# url = str(TAM(mode='play', url=hlink))
url = str(Torrest(url=hlink))
# url = "plugin://plugin.video.elementum/play?uri={}".format(hlink)
print(mode, url)
output_list.append((url, context, True))
return output_list


и вывожу все это на экран

def series_list(title_id):
series_lst = get_series(title_id)
addDirectoryItems(HANDLE, series_lst)
endOfDirectory(HANDLE)
 
tdw1980 | 21.02.2024, 19:25 | # 8
Репутация: 7
Рабочий пример плагина проигрывающего торренты через ТАМ   
https://cloud.mail.ru/public/zBpJ/foFxnYv1h

там примерно 40 строк
 
labideb | 01.03.2024, 23:08 | # 9
Репутация: 0
Цитата
Рабочий пример плагина проигрывающего торренты через ТАМ   
https://cloud.mail.ru/public/zBpJ/foFxnYv1h

там примерно 40 строк


Хоть убейте, не пойму в чем проблема
2024-03-01 22:59:52.465 T:15704 warning <general>: [plugin.video.elementum] [GIN]2024/03/01 - 22:59:52 | 200 |      112.59µs |       127.0.0.1 | GET      "/play?uri=&oindex=0&doresume=false"
2024-03-01 22:59:52.671 T:15623   error <general>: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.tam/?mode=play&url=https://anistar.org/engine/gettorrent.php?id=36631]

Предаю вот так: torrent = 'plugin://plugin.video.tam/?mode=play&url={}'.format(url)
При этом в Elementum: torrent = "plugin://plugin.video.elementum/play?uri={}".format(url)
- запускается нормально
 
tdw1980 | 02.03.2024, 08:59 | # 10
Репутация: 7
Приложи свой плагин целиком. Я посмотрю что/как. По фрагментам не структурированного кода я не понимаю как он работает.
 
labideb | 02.03.2024, 17:52 | # 11
Репутация: 0
По сути, это весь код, отвечающий за вывод. Упростил передачу урл для тестирования

@plugin.route('/play/<play_id>')
def play(play_id):
url = "https://anistar.org/engine/gettorrent.php?id="+play_id
# При этом url = "https://anistar.org/engine/gettorrent.php?id=36631"
# torrent = 'plugin://plugin.video.tam/?mode=play&url={}'.format(url)
torrent = "plugin://plugin.video.elementum/play?uri={}".format(url)
context = ListItem('Воспроизвести')
context.setProperty(key='IsPlayable', value='true')
addDirectoryItem(handle=plugin.handle, url=torrent, listitem=context, isFolder=False)
endOfDirectory(plugin.handle)


Elementum напрямую, в таком виде, воспроизводит нормально
 
tdw1980 | 02.03.2024, 19:09 | # 12
Репутация: 7
Забыли экранировать ссылку на торрент. Передача url внутри другого url подразумевает экранирование, иначе будет путаница параметров. Вот рабочий вариант:

Код
def play(play_id='36631'):
   from urllib.parse import quote
   url = "https://anistar.org/engine/gettorrent.php?id="+play_id
   torrent = 'plugin://plugin.video.tam/?mode=play&url={}'.format(quote(url))
   context = xbmcgui.ListItem('Воспроизвести')
   context.setProperty(key='IsPlayable', value='true')
   xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=torrent, listitem=context, isFolder=False)
   xbmcplugin.endOfDirectory(int(sys.argv[1]))
 
labideb | 03.03.2024, 15:46 | # 13
Репутация: 0
InfoTagV
Цитата tdw1980 ()
def play(play_id='36631'): from urllib.parse import quote
url = "https://anistar.org/engine/gettorrent.php?id="+play_id
torrent = 'plugin://plugin.video.tam/?mode=play&url={}'.format(quote(url))
context = xbmcgui.ListItem('Воспроизвести')
context.setProperty(key='IsPlayable', value='true')
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=torrent, listitem=context, isFolder=False)
xbmcplugin.endOfDirectory(int(sys.argv[1]))

Спасибо. Воспроизведение победил)
 
Zeltorix | 09.06.2024, 08:08 | # 14
Репутация: 12
Как узнать аддону, что включен журнал отладки?
Что то такого не найду.
Немного добавлю разъяснения.
В папке профиля есть guisettings.xml, где хранится значения этой настройки. Через файлы спокойно до него можно добраться и открыть. Но есть ли встроенная возможность получить значение?
В принципе нашёл способ через JSON-RPC.
Осталось вспомнить как этим пользоваться)
"Settings.GetSettingValue" найти "debug.showloginfo"
Есть ли кроме этих способов ещё?


Прикрепления: 0570768.png (179.6 Kb)


Скрывайте ссылки и способы обхода от роскомтян)
 
qazerr | 12.06.2024, 16:31 | # 15
Репутация: 5
Zeltorix, elementum тоже через RPC делает всё тот же "Settings.GetSettingValue" запрос
https://github.com/elgatit....go#L663
а питоновские функции для получения настроек есть только для настроек аддонов, насколько я знаю.
https://romanvm.github.io/Kodistubs/search.html?q=GetSetting


Сообщение отредактировал qazerr - Четверг, 13.06.2024, 16:22
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: