• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 27 Hlas(ů) - 3.3 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Repozitář - KODI CZ/SK
Migrace knihovní python metody ListItem.setInfo() na InfoTagVideo - čas běží...

Stále se nám nějak nedaří založit na zdejším fóru sekci věnovanou vývoji doplňků, tak jsme se rozhodl příspěvek umístit sem. Je to ze všech možností ta nejméně kontrovezní. Značná část doplňků, jejichž autory jsou členové české a slovenské komunity Kodi sice v tomto repozitáři nakonec končí, jsou ale i autoři, kteří z nějakého důvodu umísťují své doplňky jinde. O specifických doplňcích, jejichž autoři si pro ně vybudovali vlastní zázemí, tím mám na mysli především SC a SCC, ani nemluvě.

Stručně, o co jde.

V Kodi 20 se objevila nová možnost (python metoda definovaná v xmbc knihovně) pro ukládání specifických parametrů a atributů obsahu do kontejnerů Kodi. Stručně řečeno, původní metoda ListItem.setInfo() byla nahrazena metodou novou, InfoTagVideo. Samozřejmě ne tak, že by původní metioda byla zrušena, ale současně je možné použít obě. Tedy jak tu původní, tak i tu novou. Motivací k tomuto kroku bylo několik, nejvýznamnější snad je ta, že by nová metoda měla přinést vyšší výkon při právě časově nejkritičtějších operací, při kterých se sestavují seznamy (kontejnery). Znáte to asi všichni. Když si v Kodi otevřete nějaký seznam (či se má zobrazit Widget), jehož obsah plní nějaký doplněk typu plugin, může to trvat někdy nepříjemně dlouho. Poměrně zásadní při tom je, jak výkonný HW (CPU, paměťové a diskové operace) máme v systému, na kterém Kodi provozujeme, k dispozici. Hezky je to vidět v případě, kdy porovnáme Kodi běžící na HW platformách Android boxů (*ELEC), kde je výkon zmíněného typu HW přeci jen znatelně nižší, než např. u klasického PC. Ty rozdíly mohou být i násobné. Seznam na PC se např. sestaví (a zobrazí) do 1 vteřiny, ten samý seznam na Android boxu připojeného do stejné sítě, zabere někdy i několikanásobek tohoto času.

V současné době, u verzí 20 a 21, je použití staré metody, tedy ListItem.setInfo(), stále ještě tolerováno. Vidět to můžete v logu Kodi, kde se každé použítí této metody projeví varovnou (warning) hláškou:
 
Kód:
warning <general>: Setting most video properties through ListItem.setInfo() is deprecated and might be removed in future Kodi versions. Please use the respective setter in InfoTagVideo.
Nehledě na to, že i opakovaný výskyt této hlášky nějaký čas a výkon zabere, může to, při případné analýze logu, působit rušivě a pro neznalé uživatele to může být i matoucí.

Poučme se z historie!

Někdo možná namítne, že to zas takový problém není, což může být i pravda, a není to tedy nutné řešit hned, nicméně otázkou je, co se stane, až ona toleance k používání staré metody skončí. Všichni si podobné případy z historie Kodi pamatujeme a jistě si i pamatujeme, jak to nakonec dopadlo. S příchodem major verze, ve které s dostatečným předstihem avizovaná změna a s ní spojená tolerance skončila, nastal chaos. Neupravené doplňky, ačkoliv na jejich úpravu měli autoři čas většinou přes dvě major verze Kodi, přestaly fungovat, uživatelé se bouřili, nadávali, odmítali přejít na novou verzi, protože, dle jejich názoru, "byla plná bugů".

Co tedy s tím?

Zajímalo mne, kdy v tomto případě skončí tolerance na používání metody ListItem.setInfo(). Poslal jsme pro to dotaz do fóra Kodi.tv, ale zatím jsem se jendoznačné odpovědi nedočkal. Máme tedy minimálně čas po celé trvání verze 21. Jestli se ona tolerance přehoupne i do verze 22 se teď s jistotou říci nedá. Jsme zatím ve velmi rané fázi práce na verzi 22 a stát se může cokoliv.

Padne možná otázka, proč tedy o tom píši? Z jednoho jednoduchého důvodu a to, aby se autoři zamysleli, a pokud plánují nějakou zásadní změnu ve svých doplňcích, tak zvážili, jestli není čas starou metodu opustit a doplňky přepsat s použitím té nové. Tady by ale měla zaznít jedna ne příliš dobrá zpráva, Změna metody se v kódu projeví poměrně zásadně a podle názoru některých opravdu zkušených python programátorů a autorů doplňků, je jen velmi obtížné napsat kód, který se bude sám, podle verze Kodi, adaptovat na použití staré nebo nové metody. Vedou se o tom diskuse a padají návrhy na řešení, které je možné vidět v v20 - ListItem.setInfo() to InfoTagVideo migration discussion. Doporučuji autorům, pokud ho už neznají, si téma přečíst. Je zajímavé, že autor doplňku SC se této diskuse účastní, takže se změnou pravděpodobně počítá. U hlavního autora SCC si tím nejsme tak jistý. Filosofie SCC doplňku je taková, že je psaný "multiverzově", takže je schopný se, počínaje Kodi verzí 17, na hostitelský systém a jeho knihovny, omezení a pravidla adaptovat. To by v tomto případě, jak vyplývá z odkazovamé diskuze, mohl být oříšek. Na druhou stranu způsob, jaký je naporgramován SCC je minimálně "o ligu výše" než je to u SC, takže bych případnou adaptaci na novou metodu zas tak nerealisticky neviděl.

Já sám jsem se zatím několika doplňky, které jsme napsal a používám, z pohledu této problematiky nezabýval, ale brzy se na to chystám. Plánuji je také umístit do repozitáře a chtěl bych, aby už, ať už úpravu provedu jakkoliv, odpovídaly aktuálním pravidlům a zásadám Kodi.

Závěrem.

V té souvislosti apeluji na správce repozitáře @wombat: a možná taky na @XBMC-Kodi, aby uvedenou problematiku také sledovali. Je možné (a podle mne dost pravděpodobné), že pro některé autory bude lepší variantou přepsat celý jejich doplněk pro verzi používající pouze novou metodu a pak bude potřeba vytvořit i verzi repozitáře Kodi 21, která bude originální (ne tak, jako je to pro Kodi 20, která pouze odkazuje do verze 19) a ve které budou umístěny doplňky používající již jen novou metodu.

Ostatně, když už jsme u toho doporučení pro @wombat:... Myslím si, a nejsme sám, že by mělo být na místě tu verzi repozitáře pro Kodi 21 dořešit hned a to ať už jakkoliv! Řada uživatelů je zmatena a když vidí v popisu repozitáře, že existují verze 18, 19 a 20, a tak pochopitelně hledají i tu pro verzi 21. Zbytečně se to pak komplikuje.
 
Citovat
(09.5.2024, 15:17)meda Napsal(a): Máš Enigma, OPEN ATV 7.2 ... jak ses dostal k Beta2?
mam tam nove naistalovane

SAPRO Image 6.7 for Octagon SF8008
New
- Updated Enigma2
- Updated pre-installed plugins
- Updated softcam
- Change default skin

Use distro: OpenATV 7.5-devel
Enigma version: 07.05.2024
Kernel version: 4.4.35
DVB version: 04.01.2024 - 8008 / 22.04.2024 - supreme / 08.11.2022 - mini
GStreamer version: 1.22.10
Python version: 3.12.2
Resolution mode: 1080p
Default language: Czech
Default skin: Cobalt FHD

Pre-installed plugins:
- AJPanel - 9.3.1
- ArchivCZSK - 2.6.8
- Chocholousek picon - 5.0.231225
- CoolTVGuide - 7.7.0
- CSFD - 18.00
- E2iPlayer - 2024.05.06.01
- EPGImport - 1.0
- Freearhey - 2.8
- HDF Radio - 2.9.3
- KeyAdder - 8.2
- Levi45 Addons Manager - 10.1-r18
- Mediaplayer 2 - 0.8
- MediaStream - 20231130
- Multi-Stalker PRO - 1.1-git73
- SamsungTVPlus - 20240418
- SubsSupport - 1.7
- XStreamity - 4.43
- Youtube - git1201

- Kodi 21.0 Beta2
- under Kodi Stream Cinema - 2.3.09.1
- under Kodi Stream Cinema Community - 2.4.2
- under Kodi Netflix - 1.23.3
- under Kodi Peacock/SkyShowtime - 0.4.15
- under Kodi VOYO - 0.1.2

Pre-installed skins:
- Cobalt FHD - 24.01.2024
- Metrix-ATV - 7.5-dev-8243ca0

Pre-installed softcams:
OSCam: Oscam uni - port 8888

Login :
Name: root
Password: sapro
 
Citovat
jinac je tam repozitar 1.3 je tam i sosac ale hlasi nejakou chybu a tu nevim kde najit a otevrit
 
Citovat
@AifeL111: O Sosáči a problémech asi nejvíc zjistíš v https://www.xbmc-kodi.cz/forum-sosac.

Pokud Sosáč hlásí nějakou chybu, pak to zapisuje do Logu. Umístění se liší podle platformy. Log file - Official Kodi Wiki Enigma je, tuším, postavená na Linuxu.
X96max plus 4/32 + CE 21 + skin Confluence SCC / TV Samsung QE55Q6FNA
X96max plus 4/32 + CE 20.5 + skin Confluence SCC

AVR Denon 1600H / Dali Spektor 5.1
Win10pro + Kodi19.5
NAS Synology 215j 3TB Raid1
Router Turris 1.1
 
Citovat
(12.5.2024, 20:15)jkmh Napsal(a):  

diky ja bych to nejak nehrotil kdyby by fungoval ten Kodi Stream Cinema Community co tam je mam webshare ale kdyz tam hledam a prejedu na treba treti stranku tak ten box uplne zamrzne a musim ho vypojit ze zasuvky skusim pohledat diky
 
Citovat
@AifeL111: Pokud chceš jít po této stopě, listování v SCC a zamrznutí, následně restart, měl bys dodat soubor LOG z Kodi Logfile Uploader a sice po restartu nastavit OLD LOG. Pak vybrat Upload a uvést sem zobrazenou adresu toho logu.
https://www.xbmc-kodi.cz/prispevek-vytvo...6-obrazech
Kodi 20/21 -LibreELEC/LinuxMint/Win/Android -RPi4/3/2/ IntelPC/xMiStick4K -Router 1Gbit 2.4+5GHz
 
Citovat
omlouvam se smazal jsem to
 
Citovat
@AifeL111: Tak já chápu, že občas člověk ujede, a použije rozjeté téma k nějakému OT. Stává se mi to taky. Ale udělat z tématu Repozitář - KODI CZ/SK platformu pro řešení vlastních problémů a jednoho doplňku, to už skutečně přeháníte. Sosáč tu má na fóru, zcela výjimečně (je to dané historicky), vlastní subfórum. Ale ono je to asi hodně práce, přečíst si pravidla fóra, řídit se jimi a pak i zapojit i vlastní rozum, co? 11
 
Citovat
@AifeL111: Takhle ne. Jestli hledáš chybu doplňku, piš do jeho tématu. Tedy Sosáč v Sosáči, Stream Cinema Community v ...
Musíš si určit plán, jakou chybu chceš zachytit (Takže v Kodi ..Protokolování mít zapnutou komponentu např Video.), provést restart Kodi a navodit chybu, udělat LOG (pokud po restartu, tak OLD).
Napsat, cos viděl za chybu, za hlášení, třeba natočit-vyfotit mobilem, když to nestihneš přečíst.
Ne napsat "hodilo nějakou hlášku". Prostě píšeš, co děláš a co se pak stane.
Ve správném tématu.
Kodi 20/21 -LibreELEC/LinuxMint/Win/Android -RPi4/3/2/ IntelPC/xMiStick4K -Router 1Gbit 2.4+5GHz
 
Citovat
Zdravím, našel jsem v Kodi logu chyby:
Citace:error <general>: Repository add-on repository.kodi-czsk uses old schema definition for the repository extension point! This is no longer supported, please update your addon to use <dir> definitions.

error <general>: Repository add-on repository.kodi-czsk does not have any directory and won't be able to update/serve addons! Please fix the addon.xml definition

hádám, že to znamená, že používám zastaralý repozitář o kterém je toto diskuzní téma, že?

Šel jsem do nastavení / Doplňky / Moje doplňky / Repozitáře doplňků a odinstaloval jsem něco jako "Kodi CZ & SK Doplňky 1.0.2", které bylo neaktivní. Snad je to tak správně?
 
Citovat
@postcd: Zřejmě jsi se upsal a máš na mysli 1.2.0. Tato verze repa je pro Matrix. Pro Nexus a vyšší musíš nainstalovat repo 1.3.0
X96max plus 4/32 + CE 21 + skin Confluence SCC / TV Samsung QE55Q6FNA
X96max plus 4/32 + CE 20.5 + skin Confluence SCC

AVR Denon 1600H / Dali Spektor 5.1
Win10pro + Kodi19.5
NAS Synology 215j 3TB Raid1
Router Turris 1.1
 
Citovat
Ano. Máš z to repa nějaký addon?
Kodi 20/21 -LibreELEC/LinuxMint/Win/Android -RPi4/3/2/ IntelPC/xMiStick4K -Router 1Gbit 2.4+5GHz
 
Citovat
Zdravím všechny. Všimli jste si, že už nějako dobu nefunguje v doplňku "iVysílání ČT" vyhledávání podle návu a podle tématu? Má někdo způsob jak to rozchodit? Anebo to ČT udělala schválně, abychom museli na její web?
Dík za reakci.
 
Citovat
@skalapepa: iVysílání tu má své vlastní téma!
 
Citovat
Dík, už jsem to našel.
 
Citovat
Zdravím je nejaká možnosť spojiť sa zo správcom repozitára? Opravil som malú časť doplnku a dal som pull request ale nikto neodpovedá
https://github.com/xbmc-kodi-cz/plugin.v....sk/pull/2
 
Citovat
@JanoHD: Správcem repa je, tuším, @wombat: . Zkus mu napsat PM.
X96max plus 4/32 + CE 21 + skin Confluence SCC / TV Samsung QE55Q6FNA
X96max plus 4/32 + CE 20.5 + skin Confluence SCC

AVR Denon 1600H / Dali Spektor 5.1
Win10pro + Kodi19.5
NAS Synology 215j 3TB Raid1
Router Turris 1.1
 
Citovat
No, alespoň si otestujeme, jak se ta představa funkce repozitáře v takovýchto případech, tedy autorem opuštěného doplňku, kdy se najde další dobrovolník, který se ujme jeho správy nebo alespoň vytvoří opravu, naplní. Pamatuji se, že při založení repozitáře tady probíhaly vášnivé a ostré debaty a toto, tedy možnost jednoduchého pokračování jiným autorem, tu byl používám jako argument. Tady je to navíc o to zajímavější, že doplněk plugin.video.mtr.sk byl do tohoto repozitáře forknutý z původního kodi-czsk. 1
 
Citovat
(28.8.2024, 15:18)JanoHD Napsal(a): Zdravím je nejaká možnosť spojiť sa zo správcom repozitára? Opravil som malú časť doplnku a dal som pull request ale nikto neodpovedá
https://github.com/xbmc-kodi-cz/plugin.v....sk/pull/2

Ahoj,

hotovo.

*v případě potřeby pište PM
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)