200 lines
12 KiB
INI
Executable File
200 lines
12 KiB
INI
Executable File
**------------------------------------------------------------------------------------------------
|
||
* @header_start
|
||
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
|
||
* @Site: ishow.gr
|
||
* @MinSWversion: V0
|
||
* none
|
||
* @Revision 2 - [15/07/2012] Jan van Straaten/Andreas Kontarinis
|
||
* none
|
||
* @Remarks:
|
||
* Greece
|
||
* @header_end
|
||
**------------------------------------------------------------------------------------------------
|
||
|
||
site {url=ishow.gr|timezone=UTC+02:00|maxdays=7|cultureinfo=el-GR|charset=UTF-8|titlematchfactor=90|episodesystem=xmltv_ns}
|
||
url_index{url|http://www.ishow.gr/ShowTodayChannelProgramm.asp?|channel|&gotoDay=|urldate}
|
||
*http://www.ishow.gr/ShowTodayChannelProgramm.asp?cid=1&gotoDay=1
|
||
urldate.format {daycounter|0}
|
||
index_showsplit.scrub {multi|<div id="mainContainer">|id="progTr||<div id="mainRightCol">}
|
||
index_urlshow {url|http://www.ishow.gr|onclick="javascript:document.location.href='||'|">}
|
||
*
|
||
* channellist by hand from:
|
||
* url_index {url|http://www.ishow.gr/allchannels.asp}
|
||
*
|
||
index_date.scrub {single(force)|<div class="diaryDay"|<td style="height:58px; padding:0px; margin:0px" valign="middle">|</td>|</td>}
|
||
index_start.scrub {single|<td class="progTd progTdTime"|">|</td>|</td>}
|
||
index_title.scrub {single|<div class="grandTitle">||</div>|</div>}
|
||
index_temp1.scrub {single|<div class="subTitle">||</div>|</div>}
|
||
index_category.scrub {single(separator=" ")|class="progTr genre0||" |style}
|
||
*index_category.scrub {single(separator=" " include="genid7""genid6""genid5""genid4""genid1""genid2""genid3""genid10""genid27""genid8")|class="||">|<td}
|
||
*
|
||
title.modify {addstart|'index_title'}
|
||
titleoriginal.scrub {single(exclude="ος κύκλος""ος Κύκλος")|<div id="titleBar"|(|)|</div>}
|
||
subtitle.scrub {single(separator=">" "[" exclude="a href=" "]" "<span")|<div id="titleBar"|<h1>|</h1>|</div>}
|
||
subtitle.scrub {multi(separator=">" exclude="<span")|<span class="episodeTitleLine"|||</h2>}
|
||
description.scrub {multi|<div id='descriptionScroller' style='height:inherit; overflow:scroll; overflow-y:auto; font-size:13px; line-height:17px'>||<div|</div>}
|
||
temp_1.scrub {single|<div id="episodeDescr" style="color:#FFFFFF; font-size:15px;padding-left:10px; padding-right:10px; line-height:20px">||<div|</div>}
|
||
temp_2.scrub {single|<div id="episodeDescr1" style="color:#FFFFFF; padding-left:10px; padding-right:10px; padding-top:10px;font-size:15px; line-height:20px">||<div|</div>}
|
||
temp_1.modify{addend|'temp_2'}
|
||
temp_3.scrub {single(exclude="<meta name=""<link rel=")|<div id="episodeDescr2" style="color:#FFFFFF; font-size:15px;padding-left:10px; padding-right:10px; line-height:20px; display:none">||<div|</div>}
|
||
temp_1.modify {addend( not ~ 'temp_3')| 'temp_3'}
|
||
description.modify {addend()|'temp_1'}
|
||
actor.scrub {multi(excludeblock="title=" "Παρουσίαση")|<td><a href='person.asp?|>|</a>|</td>}
|
||
presenter.scrub {multi(includeblock="Παρουσίαση")|<td><a href='person.asp?|>|</a>|</td>}
|
||
director.scrub {multi(separator=">" exclude="a href=")|<dt>Σκηνοθεσία:</dt>|<dd>|</dd>|</dt>}
|
||
writer.scrub {multi(separator=">" exclude="a href=")|<dt>Σενάριο:</dt>|<dd>|</dd>|</dt>}
|
||
producer.scrub {multi(separator=">" exclude="a href=")|<dt>Παραγωγή:</dt>|<dd>|</dd>|</dt>}
|
||
producer.scrub {multi(separator=">" exclude="a href=")|<dt>Διεύθυνση παραγωγής:</dt>|<dd>|</dd>|</dt>}
|
||
presenter.scrub {multi(separator=">" exclude="a href=")|<dt>Παρουσίαση:</dt>|<dd>|</dd>|</dt>}
|
||
presenter.scrub {multi(separator=">" exclude="a href=")|<dt>Παρουσίαση -Επιμέλεια:</dt>|<dd>|</dd>|</dt>}
|
||
composer.scrub {multi(separator=">" exclude="a href=")|<dt>Μουσική:</dt>|<dd>|</dd>|</dt>}
|
||
productiondate.scrub {single|<div id="titleBar">|<h1>|</div>|</div>}
|
||
category.scrub {multi|genretitle="||"| genreid}
|
||
*
|
||
* operations:
|
||
index_category.modify{remove("genre127")|genre127} * I can't figure out the category
|
||
index_category.modify{replace("genre10")|genre10|Ψυχαγωγική εκπομπη}
|
||
index_category.modify{replace("genre27")|genre27|Ριάλιτι}
|
||
index_category.modify{remove("genre28")|genre28} * I can't figure out the category
|
||
index_category.modify{replace("genre92")|genre92|Μουσική}
|
||
index_category.modify{replace("genre1")|genre1|Αθλητικά}
|
||
index_category.modify{replace("genre2")|genre2|Ντοκυμαντέρ}
|
||
index_category.modify{replace("genre3")|genre3|Παιδικά}
|
||
index_category.modify{replace("genre4")|genre4|Ειδήσεις}
|
||
index_category.modify{replace("genre5")|genre5|Ενημ. εκπομπή}
|
||
index_category.modify{replace("genre6")|genre6|Σειρά}
|
||
index_category.modify{replace("genre7")|genre7|Ταινία}
|
||
index_category.modify{replace("genre8")|genre8|Τηλεπαιχνίδι}
|
||
index_category.modify{replace("genre9")|genre9|Τηλεαγορές}
|
||
*
|
||
description.modify {remove|<a href=\'productionSynopsis.asp?'{single|<a| href=\'productionSynopsis.asp?|\'|>}'\'>}
|
||
description.modify {remove| Διαβάστε περισσότερα.}
|
||
description.modify {cleanup}
|
||
description.modify {addend(".")|'index_temp_1'}
|
||
description.modify {addend("")|'index_temp_1'}
|
||
actor.modify {remove|</a}
|
||
actor.modify {cleanup}
|
||
director.modify {remove|</a}
|
||
director.modify{cleanup}
|
||
writer.modify {remove|</a}
|
||
writer.modify{cleanup}
|
||
producer.modify {remove|</a}
|
||
producer.modify{cleanup}
|
||
presenter.modify {remove|</a}
|
||
presenter.modify{cleanup}
|
||
composer.modify{remove|</a}
|
||
composer.modify{cleanup}
|
||
title.modify {remove|</a}
|
||
subtitle.modify {remove|</span}
|
||
subtitle.modify {remove|</h2}
|
||
subtitle.modify {remove|</a}
|
||
subtitle.modify {remove|'title'}
|
||
titleoriginal.modify {remove('title')|'title'}
|
||
category.modify {addend('titleoriginal' "Z")|\|Live}
|
||
titleoriginal.modify {remove("Ζ")|'titleoriginal'}
|
||
previousshown.modify {addend('titleoriginal' "Ε")|true}
|
||
titleoriginal.modify {remove("Ε")|'titleoriginal'}
|
||
titleoriginal.modify {remove("και από ERT HD")|'titleoriginal'}
|
||
subtitle.modify {remove|'productiondate'}
|
||
subtitle.modify {cleanup}
|
||
temp_3.modify {calculate(type=char)|'subtitle' "-" @}
|
||
subtitle.modify {substring('temp_3' "0" type=char)|'subtitle' 1}
|
||
* episode in xmltv_ns format : read xmltv.dtd (internet) format: season.episode.part or season/seasons.episode/episodes.part/parts
|
||
* Get season information
|
||
temp_5.modify {addstart|'title' 'subtitle'}
|
||
temp_5.modify {cleanup(style=lower)}
|
||
temp_6.modify {calculate(type=element format="F0")|'temp_5' "ος κύκλος" @}
|
||
episode.modify {substring(type=element)|'temp_5' 'temp_6' 1}
|
||
temp_6.modify {calculate(type=char format="F0")|'episode' "ος κύκλος" -@}
|
||
episode.modify {substring(type=char)|0 'temp_6'}
|
||
temp_6.modify {calculate(type=char format="F0")|'episode' " " -@}
|
||
temp_5.modify {substring(type=char)|'episode' 'temp_6' 2}
|
||
temp_6.modify {calculate('temp_6' not "-1" format="F0")|1 +}
|
||
episode.modify {substring('temp_6' not "-1" type=char)|'episode' 'temp_6'}
|
||
episode.modify {addstart('temp_5' " \(")|^^^}
|
||
episode.modify {remove('temp_5' " \(")|^^^(}
|
||
episode.modify {calculate(format="F0")} * Make sure it's a number
|
||
title.modify {remove('episode' not "0")|- 'episode'ος κύκλος}
|
||
subtitle.modify {remove('episode' not "0")|- 'episode'ος κύκλος}
|
||
title.modify {remove('episode' not "0")|- 'episode'ος Κύκλος}
|
||
subtitle.modify {remove('episode' not "0")|- 'episode'ος Κύκλος}
|
||
title.modify {remove('episode' not "0")| ('episode'ος κύκλος)}
|
||
subtitle.modify {remove('episode' not "0")| ('episode'ος κύκλος)}
|
||
title.modify {remove('episode' not "0")| ('episode'ος Κύκλος)}
|
||
subtitle.modify {remove('episode' not "0")| ('episode'ος Κύκλος)}
|
||
title.modify {remove('episode' not "0")|'episode'ος κύκλος}
|
||
subtitle.modify {remove('episode' not "0")|'episode'ος κύκλος}
|
||
title.modify {remove('episode' not "0")|'episode'ος Κύκλος}
|
||
subtitle.modify {remove('episode' not "0")|'episode'ος Κύκλος}
|
||
episode.modify {remove("0")|0}
|
||
episode.modify {addend|.}
|
||
* Get more episode info
|
||
*episode style "Επ. #" :
|
||
temp_6.modify {calculate(type=element format="F0")|'subtitle' "Επ." @}
|
||
temp_6.modify {replace("-1")|-1|500}
|
||
temp_5.modify {substring(type=element)|'subtitle' 'temp_6' 1} * subtitle can have 2 values, one from each scrub , They are internally separated by | This extracts the first one in temp_5
|
||
temp_6.modify {calculate(format="F0")|'temp_5' "." #} * if there are 2, then it has season
|
||
episode.modify {remove('temp_6' "2")|'episode'}
|
||
episode.modify {addend|'temp_5'}
|
||
subtitle.modify {remove|'temp_5'}
|
||
episode.modify {remove|Επ. #}
|
||
*episode style "26ο επεισόδιο"
|
||
temp_6.modify {calculate(type=element format="F0")|'subtitle' "ο επεισόδιο" @}
|
||
temp_6.modify {replace("-1")|-1|500}
|
||
temp_5.modify {substring(type=element)|'subtitle' 'temp_6' 1} * subtitle can have 2 values, one from each scrub , They are internally separated by | This extracts the first one in temp_5
|
||
episode.modify {addend('temp_5' ~ "ο επεισόδιο")|'temp_5'}
|
||
subtitle.modify {remove|'temp_5'}
|
||
episode.modify {remove('temp_5' ~ "ο επεισόδιο")|ο επεισόδιο}
|
||
episode.modify {addend|^} * Use temporary character ^
|
||
*add part number for the episode (if exists)
|
||
temp_6.modify {calculate(type=element format="F0")|'subtitle' "ο μέρος" @}
|
||
temp_6.modify {replace("-1")|-1|500}
|
||
temp_3.modify {substring(type=element)|'subtitle' 'temp_6' 1} * subtitle can have 2 values, one from each scrub , They are internally separated by | This extracts the first one in temp_5
|
||
temp_6.modify {calculate(type=char format="F0")|'temp_3' "ο μέρος" -@}
|
||
temp_3.modify {substring(type=char)|'temp_3' 0 'temp_6'}
|
||
temp_6.modify {calculate(type=char format="F0")|'temp_3' " " -@}
|
||
temp_2.modify {substring(type=char)|'temp_3' 'temp_6' 2}
|
||
temp_6.modify {calculate('temp_6' not "-1" format="F0")|1 +}
|
||
temp_3.modify {substring(type=char)|'temp_3' 'temp_6'}
|
||
temp_3.modify {addstart('temp_2' " \(")|^^^}
|
||
temp_3.modify {remove('temp_2' " \(")|^^^(}
|
||
episode.modify {addend|'temp_3'}
|
||
subtitle.modify {remove| - 'temp_3'ο μέρος}
|
||
subtitle.modify {remove| ('temp_3'ο μέρος)}
|
||
subtitle.modify {remove|'temp_3'ο μέρος}
|
||
*add original title and episode numbers to description
|
||
temp_5.modify {remove|'temp_5'}
|
||
temp_5.modify {addstart|\" - Επ. 'episode']}
|
||
episode.modify {replace|^|.} * Restore period character for part number
|
||
temp_5.modify {replace|Επ. .|Επ. } * Fix no season number
|
||
temp_5.modify {replace|.^|ου κύκλου^} * Add unknown episode number for season
|
||
temp_5.modify {replace|^| / Μέρος } * Fix part number character
|
||
temp_5.modify {replace|Επ. /|/} * Fix no episode number (a)
|
||
temp_5.modify {replace| / Μέρος ]|]} * Fix no part number
|
||
temp_5.modify {replace|- /|-} * Fix no episode number (b)
|
||
temp_5.modify {addstart|'titleoriginal'} * Add original title
|
||
temp_5.modify {addstart|[\"}
|
||
temp_5.modify {replace| -]|]} * Remove empty episode-num
|
||
temp_5.modify {replace|[\"\" - |[} * Remove empty title
|
||
description.modify {addstart('temp_5' not "[\"\"]")|'temp_5' }
|
||
*fix numbers according to xmltv_ns
|
||
temp_4.modify {addend("")|'episode'}
|
||
episode.modify {remove|'episode'}
|
||
loop {('temp_4' not "" max=5)|8}
|
||
temp_6.modify {calculate(type=char format=F0)|'temp_4' "." @}
|
||
temp_6.modify {replace("-1")|-1|500}
|
||
temp_5.modify {substring(type=char)|'temp_4' 0 'temp_6'}
|
||
temp_6.modify {calculate(format=F0)|1 +}
|
||
temp_4.modify {substring(type=char)|'temp_4' 'temp_6'}
|
||
temp_5.modify {calculate(> "0" format=F0)|1 -}
|
||
episode.modify {addend('temp_5' not "")|'temp_5'.}
|
||
episode.modify {addend('temp_5' "")|.}
|
||
*end loop
|
||
episode.modify {addend('temp_3' not "")|^^^}
|
||
episode.modify {remove('temp_3' not "")|.^^^}
|
||
episode.modify {remove("..")|..}
|
||
description.modify {addend|^^^}
|
||
description.modify {remove|. ^^^}
|
||
description.modify {remove|.^^^}
|
||
description.modify {remove|^^^}
|