@
SikySikov Pěkné. Také jsem si trochu pohrál.
- přihodil jsem script a do context menu přidal zobrazení textu z Plot
- položku v context menu jsem nazval Recenze ČSFD
- zobrazení nové položky je podméněno neprádným obsahem Plot
Při volbě položky
Recenze ČSFD se zavolá okno pro zobrazení textu. V Estuary je to okno s id=1102, definiční soubor
Custom_1102_TextViewer.xml. Do názvu okna vložím text
Recenze ČSFD: a obsah
Title a
Year, do obsahu okna pak obsah
Plot.
Toto zobrazení má výhodu, že v něm lze stránkovat kurzorovými klávesami.
Využívám pochoptelně tvůj scraper, tedy pracuji s
Plot, ve kterém je jak popis filmu, tak recenze. Za mne by bylo lepší, pokud by popis filmu zůstal samotný v
Plot a do
PlotOutline by se uložily pouze recenze. Pak bych celou výše popsanou operaci prováděl s obsahem
PlotOutline. V
Plot by se zobrazoval normálně pouze popis filmu a recenze by se pak zobrazily pouze na přání, buď z context menu nebo z libovolného dalšího místa.
Možná by stálo za úvahu to udělat více univerzální (ne všechny skiny umožňují takovou variabilitu zobrazení) a přidat do nastavení scraperu volbu, třeba takto:
- Popis filmu do Plot, bez recenzí - default nastavení
- Popis filmu do Plot, recenze do PlotOutline
- Popis filmu + recenze do PlotOutline, popis filmu do Plot
- Popis filmu + recenze do Plot, popis filmu do PlotOutline
Tak jsem narychlo upravil vše podle varianty č. 2, tedy popis filmu do
Plot, recenze do
PlotOutline, samozřejmě včetně výše uvedeného scriptu, který teď zobrazuje obsah
PlotOutline. Pak se po navolení
Recenze ČSFD z context menu zobrazí toto (obsahem okna jsou právě jen recenze):
Upravil jsem ještě vizuál recenze, abych to odlišil od normálního texu - zvýraznění autorů recenze, kurzívou text vlastní recenze - tady se ale meze tvořivosti nekladou... Já to používat nebudu, takže jsem s prací na tom asi skončil, ale pokud by někdo měl zájem, mohu dát návod jak vyrobit to context menu.
A ještě poznámka autorovi úprav scraperu - pro to formátování textu recenzí doporučuji použít metakódy. Přeci jen to vypadá lépe a lépe se v tom člověk také orientuje. S formátováním textu přímo v databázi samozřejmě opatrně, je třeba vědět, jak si s tím poradí skin.
Kód:
<!-- description -> plot -->
<RegExp input="$$1" output="<plot>\1</plot>" dest="7+">
<expression trim="1">class="(?:plot-full|plot-full hidden)">[^<]*<p>\s(.*?)\s*?<em class="span-more-small"</expression>
</RegExp>
<!-- reviews -> outline -->
<RegExp input="$$1" output="@[B]\1[/B][CR][I]\2[/I][CR][CR]" dest="6">
<expression trim="1" repeat="yes">class="user-title-name">(.*?)<\/a>[\s\S]*?recenze\/\?comment(?:[\s\S]*?)<\/div>[^p]([\s\S]*?)<span class="comment-date</expression>
</RegExp>
<RegExp input="$$6" output="<outline>\1</outline>" dest="7+">
<expression noclean="1" />
</RegExp>