mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
114 lines
No EOL
6.2 KiB
INI
Executable file
114 lines
No EOL
6.2 KiB
INI
Executable file
**------------------------------------------------------------------------------------------------
|
|
* @header_start
|
|
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
|
|
* @Site: siliconhill.com.au
|
|
* @MinSWversion: V1.1.1/26
|
|
* none
|
|
* @Revision 0 - [08/10/2012] Jan van Straaten
|
|
* none
|
|
* @Remarks:
|
|
* Sydney area
|
|
* uses a GZIP compressed xmltv feed
|
|
* MediaPortal version, 'all' elements combined in description, episode converted to 'onscreen'
|
|
* @header_end
|
|
**------------------------------------------------------------------------------------------------
|
|
|
|
site {url=siliconhill.com.au|timezone=UTC+10:00|maxdays=7.1|cultureinfo=en-AU|charset=ISO-8859-1|titlematchfactor=90|keepindexpage}
|
|
site {compression=gzip|ratingsystem=ABA|episodesystem=onscreen|subtitlestype=teletext}
|
|
url_index{url|http://www.siliconhill.com.au/shepherd/Sydney/fta/output.xmltv.gz}
|
|
*http://www.siliconhill.com.au/shepherd/Sydney/fta/output.xmltv.gz
|
|
urldate.format {daycounter|0}
|
|
index_variable_element.modify {addstart|'config_site_id'}
|
|
index_showsplit.scrub {multi(include='index_variable_element')|<programme||</programme>|</programme>}
|
|
*
|
|
index_start.scrub {single|start="||"|>}
|
|
index_stop.scrub {single|stop="||"|>}
|
|
*start="20120922004200" stop="20120922021200"
|
|
index_title.scrub {single(separator=": " include=first)|<title|>|</title>|</title>}
|
|
index_subtitle.scrub {single|<sub-title|>|</sub-title>|</sub-title>}
|
|
index_description.scrub {single|<desc|>|</desc>|</desc>}
|
|
index_actor.scrub {multi|<actor>||</actor>|</actor>}
|
|
index_director.scrub {multi|<director>||</director>|</director>}
|
|
index_writer.scrub {multi|<writer>||</writer>|</writer>}
|
|
index_producer.scrub {multi|<producer>||</producer>|</producer>}
|
|
index_presenter.scrub {multi|<presenter>||</presenter>|</presenter>}
|
|
index_productiondate.scrub {single|<date>||</date>|</date>}
|
|
index_category.scrub {multi|<category|">|</category>|</category>}
|
|
index_rating.scrub {single|<rating|<value>|</value>|</rating>}
|
|
index_starrating.scrub {single|<star-rating|<value>|</value>|</star-rating>}
|
|
index_episode.scrub {single|<episode-num|>|</episode-num>|</episode-num>}
|
|
index_subtitles.scrub {single|<subtitles|type="|"|/>}
|
|
index_previousshown.scrub {single|<previously||/>|/>}
|
|
index_videoaspect.scrub {single|<video>|<aspect>|</aspect>|</video>}
|
|
index_videoquality.scrub {single|<video>|<colour>|</colour>|</video>}
|
|
*
|
|
*operations
|
|
scope.range {(indexshowdetails)|end}
|
|
** date component: 20121009
|
|
index_temp_2.modify {substring(type=char)|'index_start' 0 8}
|
|
index_temp_3.modify {calculate(format=date,yyyyMMdd)|now}
|
|
*
|
|
index_start.modify {substring(type=char)|8 4}
|
|
index_temp_1.modify {substring(type=char)|'index_start' 0 2} * the hours
|
|
index_start.modify {substring(type=char)|2 2} * the minutes
|
|
index_start.modify {addstart()|'index_temp_1':}
|
|
index_stop.modify {substring(type=char)|8 4}
|
|
index_temp_1.modify {substring(type=char)|'index_stop' 0 2} * the hours
|
|
index_stop.modify {substring(type=char)|2 2} * the minutes
|
|
index_stop.modify {addstart()|'index_temp_1':}
|
|
*
|
|
* clear if before date now:
|
|
index_start.modify {clear('index_temp_2' < 'index_temp_3')}
|
|
index_stop.modify {clear('index_temp_2' < 'index_temp_3')}
|
|
*
|
|
index_description.modify {cleanup}
|
|
index_subtitles.modify {replace("teletext")|teletext|true}
|
|
index_previousshown.modify {replace(~ "shown")|'index_previousshown'|true}
|
|
index_videoquality.modify {replace(~ "yes")|'index_videoquality'|colour}
|
|
index_episode.modify {remove| }
|
|
*
|
|
* MP version optionally combine detail elements with description
|
|
* convert episode from 2.3.0 to Season 3 Episode 4 Part 1
|
|
index_temp_6.modify {addstart('index_episode' not "")|.'index_episode'} * copy of episode, extra . to get the season with the loop
|
|
index_temp_5.modify {addstart|Part } * first indicator
|
|
index_episode.modify {clear}
|
|
loop {(max=2)|end}
|
|
index_temp_1.modify {calculate('index_temp_6' not "" type=char format=F0)|'index_temp_6' "." -@} * last index-of .
|
|
index_temp_4.modify {calculate('index_temp_1' not "-1" format=F0)|'index_temp_1' 1 +} * the index-of the value
|
|
index_temp_2.modify {substring('index_temp_1' not "-1" type=char)|'index_temp_6' 'index_temp_4'} * the 'part' value, xmltv_ns norm
|
|
index_temp_3.modify {calculate('index_temp_2' not "" format=F0)|'index_temp_2' 1 +} * part value, onscreen norm
|
|
index_episode.modify {addstart('index_temp_2' not "")|'index_temp_5''index_temp_3' } * build the episode, onscreen norm
|
|
index_temp_5.modify {replace(~ "Episode")|'index_temp_5'|Season } * change the indicator
|
|
index_temp_5.modify {replace(~ "Part")|'index_temp_5'|Episode } * change the indicator
|
|
index_temp_6.modify {substring('index_temp_1' > "-1" type=char)|'index_temp_6' 0 'index_temp_1'}
|
|
end_loop
|
|
*
|
|
index_description.modify {addend('index_episode' not "")|\n'index_episode'}
|
|
index_episode.modify {clear}
|
|
index_description.modify {addend('index_category' not "" separator=", ")|\nCategory: 'index_category'.}
|
|
index_category.modify {clear}
|
|
index_description.modify {addend('index_director' not "" separator=", ")|\nDirector: 'index_director'.}
|
|
index_director.modify {clear}
|
|
index_description.modify {addend('index_actor' not "" separator=", ")|\nActors: 'index_actor'.}
|
|
index_actor.modify {clear}
|
|
index_description.modify {addend('index_producer' not "" separator=", ")|\nProducer: 'index_producer'.}
|
|
index_producer.modify {clear}
|
|
index_description.modify {addend('index_presenter' not "" separator=", ")|\nPresenter: 'index_presenter'.}
|
|
index_presenter.modify {clear}
|
|
index_description.modify {addend('index_productiondate' not "")|\nProductiondate: 'index_productiondate'.}
|
|
index_productiondate.modify {clear}
|
|
index_description.modify {addend('index_rating' not "" separator=", ")|\nRating: 'index_rating'.}
|
|
index_rating.modify {clear}
|
|
index_description.modify {addend('index_starrating' not "")|\nStarrating: 'index_starrating'.}
|
|
index_starrating.modify {clear}
|
|
* clear only?
|
|
index_videoquality.modify {clear}
|
|
index_videoaspect.modify {clear}
|
|
index_previousshown.modify {clear}
|
|
index_subtitles.modify {clear}
|
|
end_scope
|
|
*
|
|
* the following creates a channel list file when enabled:
|
|
*
|
|
*index_site_id.scrub {multi|<channel|id="|">|</channel>}
|
|
*index_site_channel.scrub {multi|<channel|<display-name lang="en">|</display-name>|</channel>} |