21.4.2024, 16:42
(Tento příspěvek byl naposledy změněn: 21.4.2024, 16:44 uživatelem JiRo.
Důvod úpravy: Doplnění informace
)
Postproces rex
Webgrab++ má k dispozici dva postprocesy, které mohou ve vygenerovaném xmltv upravit vybrané informace (rex) nebo do xmltv vybrané informace doplnit z jiných zdrojů (mdb). Já v současněé době používám postproces rex, který umí v xmltv přeskládat některé informace tak, aby je dokázalo Kodi zobrazit. Protože to není zas tak známá věc, pro zájemce ji tady stručně popíšu.
Co tedy postproces rex vlastně dělá? Umí některé informace, které do xmltv vkládají některé grabery a které Kodi (nebo jiný klient) neumí využít, převést na čistý text a vložit ho do jiných položek (např. description). Předpis pro to, jak to má tento postproces udělat, se definuje v xml souboru rex.config.xml umístěnému v adresáři rex podle návodu, který je uveden v sample souboru rex.config.example.xml.
Základní postup generace se pak řídí parametry v WebGrab++.config.xml, konkrétně v řádku:
Já osobně převádím pomocí rex jen informce o tvůrcích, hercích a zemi původu.
Původní záznam v xmltv po grabování vypadá takto:
Pro prohnání souboru xmltv postprocesem rex pak stejný záznam vypadá takto:
V Kodi se pak tento nový záznam objeví jako:
Předpis, jak se má postproces rex chovat je tento:
V logu wegbrab to pak vypadá nějak takto (zobrazují pouze konec logu):
Je důležité, že výsledný xmltv je pak uložený v adresáři rex a musí se tedy změnit i zdrojová adresa pro navazující aplikace (např. Theadend).
U mne je to ještě o něco složitější. Mám ještě další vlastní "postporces", které upravuje ve výsledném xmltv kategorie tak, aby v EPG v Kodi, které EPG přebírá z Tvheadend, fungovalo správně probarvování podle kategorií/žánrů. To ale s postprocesem rex nijak nesouvisí.
Webgrab++ má k dispozici dva postprocesy, které mohou ve vygenerovaném xmltv upravit vybrané informace (rex) nebo do xmltv vybrané informace doplnit z jiných zdrojů (mdb). Já v současněé době používám postproces rex, který umí v xmltv přeskládat některé informace tak, aby je dokázalo Kodi zobrazit. Protože to není zas tak známá věc, pro zájemce ji tady stručně popíšu.
Co tedy postproces rex vlastně dělá? Umí některé informace, které do xmltv vkládají některé grabery a které Kodi (nebo jiný klient) neumí využít, převést na čistý text a vložit ho do jiných položek (např. description). Předpis pro to, jak to má tento postproces udělat, se definuje v xml souboru rex.config.xml umístěnému v adresáři rex podle návodu, který je uveden v sample souboru rex.config.example.xml.
Základní postup generace se pak řídí parametry v WebGrab++.config.xml, konkrétně v řádku:
Kód:
<postprocess grab="y" run="y">rex</postprocess>
Původní záznam v xmltv po grabování vypadá takto:
Kód:
<programme start="20240421145000 +0200" stop="20240421173500 +0200" channel="HBO">
<title lang="cs">Interstellar</title>
<desc lang="cs">Když se náš čas na Zemi začne chýlit ke konci, je skupina výzkumníků pověřena nejdůležitějším posláním v dějinách lidstva - musí se vydat mimo naši sluneční soustavu a pokusit se najít pro lidské pokolení planetu, na které bude moci žít.</desc>
<credits>
<director>Christopher Nolan</director>
<actor>Matthew McConaughey</actor>
<actor>Anne Hathawayová</actor>
<actor>Jessica Chastainová</actor>
<actor>Ellen Burstynová</actor>
<actor>Michael Caine</actor>
</credits>
<date>2014</date>
<category lang="cs">Scifi</category>
</programme>
Kód:
<programme start="20240421145000 +0200" stop="20240421173500 +0200" channel="HBO">
<title lang="cs">Interstellar</title>
<desc lang="cs">Když se náš čas na Zemi začne chýlit ke konci, je skupina výzkumníků pověřena nejdůležitějším posláním v dějinách lidstva - musí se vydat mimo naši sluneční soustavu a pokusit se najít pro lidské pokolení planetu, na které bude moci žít.
[COLOR grey]Obsazení:[/COLOR] Matthew McConaughey, Anne Hathawayová, Jessica Chastainová, Ellen Burstynová, Michael Caine
[COLOR grey]Režisér:[/COLOR] Christopher Nolan</desc>
<date>2014</date>
<category lang="cs">Scifi</category>
</programme>
Předpis, jak se má postproces rex chovat je tento:
Kód:
<settings>
<filename>temp.xml</filename>
<desc>'description'{\n[COLOR grey]Obsazení:[/COLOR] 'actor(, )'}{\n[COLOR grey]Režisér:[/COLOR] 'director(, )'}{\n[COLOR grey]Námět/scénář:[/COLOR] 'writer(, )'}{\n[COLOR grey]Hudba:[/COLOR] 'composer(, )'}{\n[COLOR grey]Země:[/COLOR] 'country(, )'}</desc>
<credits></credits>
</settings>
Kód:
[ Debug ]
[ Info ] ( 112/112 ) O2TV.CZ -- chan. (xmltv_id=Africke nebe) -- mode Incremental
[ Info ]
[ Info ] Summary for update of Africke nebe
[ Info ] missing shows added 0
[ Info ] changed shows updated 0
[ Info ] new shows added 36
[ Info ] unchanged shows inspected 0
[ Info ] total after update 36
[ Debug ]
[ Debug ] 6843 shows in 112 channels
[ Debug ] 0 updated shows
[ Debug ] 6843 new shows added
[ Info ]
[ Info ]
[ ] Job finished at 21/04/2024 12:59:24 done in 10m 32s
[ Info ] Job (REX Version: 3.2.1) started at 21/04/2024 12:59:24
[ Info ] Starting REX Postprocess
[ Info ] .. done
[ Info ] File written to :
[ Info ] /home/kodi/.wg++/rex/temp.xml
[ Info ]
[ Info ]
[ ] Finished Postprocess REX
[ Info ] Job (rex) finished at 21/04/2024 12:59:31 done in 7s
U mne je to ještě o něco složitější. Mám ještě další vlastní "postporces", které upravuje ve výsledném xmltv kategorie tak, aby v EPG v Kodi, které EPG přebírá z Tvheadend, fungovalo správně probarvování podle kategorií/žánrů. To ale s postprocesem rex nijak nesouvisí.