Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- **------------------------------------------------------------------------------------------------
- * @header_start
- * WebGrab+Plus ini for grabbing EPG data from TvGuide websites
- * @Site: dk.timefor.tv
- * @MinSWversion: V1.1.1/52
- * @Revision 3 - [20/08/2013] Francis De Paemeleere
- * fix showdetail title error + minor fixes
- * add automatic channel generation
- * @Revision 2 - [25/10/2012] Jan van Straaten
- * episode is follwing the xmltv_ns format >> season.episode.part
- * @Revision 1 - [01/10/2012] Jesper Schumacher
- * in episode : - is replaced with /
- * @Remarks: base version taken from en.timefor.tv
- * @header_end
- **------------------------------------------------------------------------------------------------
- site {url=dk.timefor.tv|timezone=UTC+01:00|maxdays=14|cultureinfo=da-DK|charset=UTF-8|titlematchfactor=90|episodesystem=xmltv_ns}
- url_index{url()|http://dk.timefor.tv/listings/|channel|/|urldate|}
- urldate.format {datestring|yyyy-MM-dd}
- index_showsplit.scrub {multi()|<table class="block epg|<tr|"></td>|</table>} * "></td> and not </tr> because indexpage is showing progressbar for current show
- index_urlshow {url ()|http://dk.timefor.tv|<td class="title">|href="|" class="programsummary" |</a>}
- index_date.scrub {single()|defaultDate:"||", |}
- index_start.scrub {single()|"time">|<p>|:</p>|</p>}
- index_title.scrub {single()|programid="|">|</a>|</a>}
- **************** Showdetails ***************
- title.scrub {single(includeblock=1)|<h2|>|</h2>|</h2>}
- titleoriginal.scrub {single(lang=en)|Original titel:|">|</p>|</td></tr>}
- subtitle.scrub {single()|Episode titel:|">|</p>|</td></tr>} * if a real episode title is available
- temp_3.scrub {single (include=last)|class="epg"|"> - |</span>|</p><div} * will be used if no episode title is available
- description.scrub {single (separator="Læs mere " force include=first)|<meta name="Description" content="|||">}
- category.scrub {single(separator="/")|Genre:|">|</p>|</td></tr>} * finds genre eg. komedie, tv serier, etc.
- temp_1.scrub {single()|Episode:</strong></p>|sæson |</p></td></tr>|</tr>} * finds the "sæson" number, if it is a sæson
- category.scrub {single(separator="/")|Type:|">|</p>|</td></tr>} * finds more Typeinfo eg. Film, serie etc.
- productiondate.scrub {single()|Fra:|">|</p>|</td></tr>} * finds productionyear
- episode.scrub {single()|Episode:|">|</p>|</td></tr>} * extracts all episode info incl. sæson-info
- actor.scrub {multi()|<h3>Medvirkende</h3>|<strong>|</p>|</table>} * finds actor list, HTML junk is removed with modify later
- index_variable_element.modify {clear}
- index_variable_element.modify {addstart()|'config_site_id'}
- scope.range {(showdetails)|end}
- actor.modify {remove(type=regex)|(</strong><br>.*)} * remove any actor role (after the </strong><br>)
- ***episode in xmltv_ns format***
- episode.modify {remove()|sæson 'temp_1'} * removes "sæson" and number in episode
- episode.modify {remove()| }
- episode.modify {replace()|:|\|} * replace : with | (= make multi)
- temp_2.modify {substring(type=element)|'episode' 1 1} * is the number of episodes
- episode.modify {substring(type=element)|0 1} * is the episode number
- episode.modify {calculate( not="" format=F0)|1 -} * contains the xmltv_ns episode number
- temp_1.modify {calculate( not="" format=F0)|1 -} * contains the xmltv_ns season number
- episode.modify {addstart()|'temp_1'.}
- episode.modify {addend('temp_2' not="")|/'temp_2'}
- episode.modify {addend()|.}
- episode.modify {clear('episode' ="..")} * remove empty episode info
- subtitle.modify {addstart(="")|'temp_3'} * add, if no real episode title was found
- category.modify {replace|/|\|}
- end_scope
- ** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- ** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
- **
- ** @auto_xml_channel_start
- *subpage.format {list|ee|lv|lt|nl|be|dk|uk|fi|fr|it|no|pl|ru|sw|es|se|cz|tr|de|at}
- *url_index{url()|http://dk.timefor.tv/ajax/channel_list.php?language=|subpage|}
- *index_site_id.scrub {multi()||||}
- *scope.range {(channellist)|end}
- ** now change the channel names according to the country groups (because there can be duplicate channel names between diff. country groups!)
- ** find all the country groups
- *index_temp_1.modify {substring(type=regex)|'index_site_id' "<div id=\"channels(.*?)\""}
- *index_temp_1.modify {cleanup(removeduplicates=equal,100)}
- *index_temp_5.modify {calculate(type=element format=F0)|'index_temp_1' #} * how many elements? Used as loop counter.
- *loop {('index_temp_5' > "0" max=50)|end}
- *index_temp_5.modify {calculate(format=F0)|1 -} * decrease the loop counter
- *index_temp_2.modify {substring(type=element)|'index_temp_1' 'index_temp_5' 1} * element to work on
- *index_site_id.modify {replace(type=regex)|<div id="channels'index_temp_2'".*?<ul.*?(?:<li.*?<p.*?(>).*?</p>.*?</li>)*</ul></div>|>'index_temp_2' }
- *end_loop
- *index_site_channel.modify {addstart|'index_site_id'}
- ** now get id and channel name
- *index_site_channel.modify {substring(type=regex)|<ul.*?(?:<li.*?<p.*?>(.*?)</p>.*?</li>)*</ul>}
- *index_site_id.modify {substring(type=regex)|<ul.*?(?:<li.*?onclick="document\.location\.href=\'/tv-guide/(.*?)\'.*?</li>)*</ul>}
- *
- *index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")}
- *end_scope
- ** @auto_xml_channel_end
Advertisement
Add Comment
Please, Sign In to add comment