Здравейте гостенино! Вход Регистриране


Оценете темата:
  • 1 гласа - средно 5
  • 1
  • 2
  • 3
  • 4
  • 5
[УРОК] Как да създадем video addon за Kodi Media Center
#41
def PLAY ( )

   регулярен израз за плейър 1
       връща videourl

   регулярен израз за плейър 2
       връща videourl

   ...

   регулярен израз за извличане на обложка, описание # опционално
       връща cover, description

   конструиране на List.Item елемент. Подаваш му за path да използва videourl. Няма как всички гореописани регулярни изрази да сработят едновременно, но дори и да се случи, последният в описаният ред (който промени стойността на променливата videourl) ще определи крайният абсолютен адрес за зареждане на видеото.
[Изображение: notrobosmall.jpg]
 
Отговор
#42
актуализирах си предният пост
оправих си грешката явно notepad+++ прави грешки но сега получавам
Error Contents: ('invalid syntax', ('C:\\Users\\SonyVaio\\AppData\\Roaming\\Kodi\\addons\\plugin.video.vplaybg\\default.py', 90, 28, '\tmatch = re.compile(\'src=\'(.+?)\' type="video/mp4" data-res="(.+?)" />\').findall(data)\n'))
SyntaxError: ('invalid syntax', ('C:\\Users\\SonyVaio\\AppData\\Roaming\\Kodi\\addons\\plugin.video.vplaybg\\default.py', 90, 28, '\tmatch = re.compile(\'src=\'(.+?)\' type="video/mp4" data-res="(.+?)" />\').findall(data)\n'))
 
Отговор
#43
В python много внимателно трябва да спазваш отстъпите, защото те контролират хода на програмата - това е скриптов език, не се компилира и командния интерпретатор се влияе от положението и броя на "спейсовете" и "табовете". Първо определи в сегашния ти текстов редактор какво ще ползваш (спейсове или табове) и след това провери там, където ти дава грешка в log файла (написан е конкретния ред) в какво се изразява неправилния или неочакван отстъп/indent.
[Изображение: notrobosmall.jpg]
 
Отговор
#44
Код:
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS
Error Type: <type 'exceptions.UnboundLocalError'>
Error Contents: local variable 'data' referenced before assignment
Traceback (most recent call last):
File "C:\Users\SonyVaio\AppData\Roaming\Kodi\addons\plugin.video.vplaybg\default.py", line 190, in <module>
PLAY(name,url,iconimage)
File "C:\Users\SonyVaio\AppData\Roaming\Kodi\addons\plugin.video.vplaybg\default.py", line 90, in PLAY
match = re.compile('src=(.+?) type="video/mp4" data-res="(.+?)" />').findall(data)
UnboundLocalError: local variable 'data' referenced before assignment
тази грешка ми изважда и не мога да я фиксна
 
Отговор
#45
На 90-ти ред, опитваш да използваш data, а в data все още няма данни. Виж дали записваш скрейпнатата страница именно в data или в друга променлива. Ако името е правилно, значи не успяваш да скрейпнеш страницата.
[Изображение: notrobosmall.jpg]
 
Отговор
#46
Код:
def PLAY(name,url,iconimage):
       link = 'http://192.168.0.116/watch_video.php?v=' + url #Конструираме адреса за достъп до видеото
       nl = 0
       match = re.compile('src=(.+?) type="video/mp4" data-res="(.+?)" />').findall(data)
       req = urllib2.Request(url)
       req.add_header('User-Agent', UA)
       response = urllib2.urlopen(req)
       #print 'request page url:' + url
       data=response.read()
       response.close()
       nl = nl + 1
       li = xbmcgui.ListItem(iconImage=iconimage, thumbnailImage=iconimage, path=nl)
       li.setInfo('video', { 'title': name })
       try:
                       xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xbmcgui.ListItem(int(sys.argv[1]), True, li))
       except:
                       xbmc.executebuiltin("Notification('Грешка','Видеото липсва на сървъра!')")
направих и друг пример за екстракване на линкове и работи много добре, как може да го вградя в def play
Код:
from requests import get
r = requests.get("http://192.168.0.116/watch_video.php?v=HKD9OYN5KO35")
soup = BeautifulSoup(r.content, "html.parser")
for data in soup.findAll('div', class_='dropdown col-lg-12 pull-right no-padding text-right'):
   for a in data.findAll('a'):
       print(a.get('href'))
#print(a.text)

[Изображение: alllinks.png]
 
Отговор
#47
Здравейте, благодаря Ви за изчерпателната информация. Ще се опитам да си направя адон на сайта ми. Ако не успея, ще потърся помощ във форума.
 
Отговор
  


Теми, които вероятно са свързани...
Тема: Автор Отговори: Прегледи: Последна публикация
Bug Inputstream Adaptive Addon Majide 2 1,492 02-12-2018, 00:01
Последна публикация: Majide
  Kodi Text to Speech & Voice Assistant Majide 4 4,579 01-05-2017, 09:09
Последна публикация: Majide
Lightbulb Fork на Addon. Защо и Как? Majide 8 5,242 12-04-2017, 21:35
Последна публикация: Majide
Lightbulb Как да номерираме версията на Kodi addon? Majide 0 1,241 09-04-2017, 17:00
Последна публикация: Majide

Отваряне на: