**------------------------------------------------------------------------------------------------
* @header_start
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
* @Site: tvguide.co.uk
* @MinSWversion: V1.57
* none
* @Revision 17 - [23/03/2017] CyberJacob
* Added stop time, premiere, rating, previously shown, and audio description
* @Revision 16 - [18/03/2017] Netuddki
* Added option for xmltv-ns OR onscreen Episode System
* @Revision 15 - [16/11/2016] Blackbear199
* showsplit fix
* added channel logo,show image
* @Revision 14 - [28/07/2016] Blackbear199
* rewrite details page scrubs(url change).
* @Revision 13 - [05/02/2015] Francis De Paemeleere
* change to xmltv_ns episode system
* @Revision 12 - [02/12/2014] Francis De Paemeleere
* remove user specific modifications
* removed duplicate shows issue
* add showicon
* @Revision 11 - [30/11/2014] Ruby
* Description scrub modification + new Detailpage layout: index_urlshow modification + remake details scrub
* @Revision 10 - [08/09/2014] Jan van Straaten
* complete remake: Single channel index page now available, loadcookie not required anymore
* @Revision 9 - [04/04/2014] Willy De Wilde
* additional separator in start
* @Revision 8 - [20/03/2014] Willy De Wilde
* Website change
* @Revision 7 - [24/02/2014] Willy De Wilde
* Use of main page - channel pages do not grab anymore
* @Revision 6 - [16/12/2013] Francis De Paemeleere
* adapted to site changes in the indexdetail pages
* @Revision 5 - [17/11/2013] Jan van Straaten
* adapted to site changes in the showdetail pages
* @Revision 4 - [15/01/2013] Francis De Paemeleere
* added new auto_xml_channel
* @Revision 3 - [30/11/2011] Jan van Straaten
* make producer multi value
* @Revision 2 - []
* correction in description, adapted for 1.0.7
* @Revision 1 - []
* added producer, writer, episode , improved description, adapted for 1.0.5
* @Remarks:
* none
* @header_end
**------------------------------------------------------------------------------------------------
site {url=tvguide.co.uk|timezone=Europe/London|maxdays=7|cultureinfo=en-US|charset=UTF-8|titlematchfactor=90|allowlastpageoverflow}
*site {retry=4} *Only if you get too many timeouts
*
*site {ratingsystem=GB|episodesystem=onscreen|} *Enable for Onscreen Episode System
site {ratingsystem=GB|episodesystem=xmltv_ns|} *Enable for xmltv_ns Episode System
*
*
url_index{url|http://my.tvguide.co.uk/channellisting.asp?ch=|channel|&cTime=|urldate|%206:00:00%20AM}
url_index.headers {customheader=Accept-Encoding=gzip,deflate}
urldate.format {datestring|MM/dd/yyyy}
index_showsplit.scrub {multi|
|| | |}
scope.range {(splitindex)|end}
index_showsplit.modify {cleanup(removeduplicates=equal span=1)}
end_scope
index_variable_element.modify {set|'config_site_id'}
index_urlchannellogo.modify {addstart|http://my.tvguide.co.uk/channel_logos/'index_variable_element'.png}
scope.range{(indexshowdetails)|end}
*
index_start.scrub {single(pattern="h:mm tt")||||}
index_start.modify {replace|am| am}
index_start.modify {replace|pm| pm}
*
detail_stop.scrub {regex(pattern="h:mm tt")||(?:<\/div>\n.*
\n.*\d?\d:\d\d\w\w-)(\d?\d:\d\d\w\w)}
detail_stop.modify {replace|am| am}
detail_stop.modify {replace|pm| pm}
*
index_title.scrub {single||||}
index_title.modify {remove(type=regex)|\s\(\d{4}\)}
index_title.modify {cleanup}
***Productiondate:
index_productiondate.scrub {single||(|)|
} * in title
***Category:
index_category.scrub {single(separator="/")|Category |||
}
index_category.modify {remove|Factual Topics}
index_category.modify {remove|Folkloric}
index_category.modify {remove|Environment}
index_category.modify {remove|reserved}
*
***Episode:
index_temp_1.scrub {regex||(.*?)||}
index_temp_1.modify {cleanup (tags="<"">")}
index_episode.modify {set(pattern="Season 'S1' Episode 'E1' of 'Et1'""Season 'S1'")|'index_temp_1'}
*
***Subtitle:
index_subtitle.scrub {single||||}
index_subtitle.modify {remove|Category}
index_subtitle.modify {remove(type=regex)|\.$}
***Description:
index_description.scrub {regex||(.*?)
||}
index_description.modify {substring(type=element)|0 1}
index_description.modify {addend(not"")|.}
***Starrtaing:
index_starrating.scrub {single|Rating
|">||}
index_starrating.modify {addend(not"")|/10}
***Subtitles:
index_subtitles.scrub {regex||\(Subtitles\)||}
index_subtitles.modify {substring(type=element)|0 1} * more than one, keep only one
index_subtitles.modify {replace(not "")|'index_subtitles'|true}
***Premiere
index_premiere.scrub {regex||\(Premiere\)||}
index_premiere.modify {substring(type=element)|0 1} * more than one, keep only one
index_premiere.modify {replace(not "")|'index_premiere'|true}
***Showicon:
index_showicon.scrub {regex||]*background-image[^>]*url\(([^)]*[^\/])\)||}
***Rating:
detail_rating.scrub {single|Certificate : |||}
***Previously Shown:
index_previousshown.scrub {regex||\(Repeat\)||}
index_previousshown.modify {substring(type=element)|0 1} * more than one, keep only one
index_previousshown.modify {replace(not "")|'index_previousshown'|true}
***Audio Description:
audiodescription.scrub {regex||\(Audio Described\)||}
audiodescription.modify {substring(type=element)|0 1} * more than one, keep only one
audiodescription.modify {replace(not "")|'audiodescription'|true}
*
index_urlshow {url|||||}
title.modify {cleanup(tags="<"">")}
title.modify {remove(type=regex)|\s\(\d{4}\)}
title.modify {remove(type=string)|Premiere. }
title.modify {cleanup}
*
director.scrub {multi(separator=", ")|Director: ||
|}
producer.scrub {multi(separator=", ")|Producer: ||
|}
writer.scrub {multi(separator=", ")|Writer: ||
|}
*
presenter.scrub {multi(includeblock="Presenter")||||
} ***Presenter used for Co-Host**
presenter.scrub {multi(includeblock="Co-host")||||
}
*
commentator.scrub {multi(includeblock="Contributor")||||
} ****Commentator used for Guest, Contributor, Contestant, Panellist, Performer***
commentator.scrub {multi(includeblock="Guest")||||
}
commentator.scrub {multi(includeblock="Contestant")||||
}
commentator.scrub {multi(includeblock="Panellist")||||
}
commentator.scrub {multi(includeblock="Performer")||||
}
*
composer.scrub {multi(includeblock="Narrator")||||
} ***Composer used for Reporter, Narrator, Anchor***
composer.scrub {multi(includeblock="Reporter")||||
}
composer.scrub {multi(includeblock="Anchor")||||
}
*
actor.scrub {multi(excludeblock="Narrator""Presenter""Contributor""Guest""Contestant""Panellist""Performer""Reporter""Anchor""Co-host")||||
}
*
showicon.scrub {single|