**------------------------------------------------------------------------------------------------ * @header_start * WebGrab+Plus ini for grabbing EPG data from TvGuide websites * @Site: ictv.net.au * @MinSWversion: V1.1.1/51 * - needs half hour timezone * @Revision 2 - [2013/07/25] Jan van Straaten * - new showsplit with a date filter * @Revision 1 - [2013/07/22] Jan van Straaten * - firstshow = 3 , skipps the previous days shows on the index page * @Revision 0 - [2013/07/20] Sean McManus, Jan van Straaten * - created ini * @Remarks: * @header_end **------------------------------------------------------------------------------------------------ * site {url=ictv.net.au|timezone=UTC+09:30|maxdays=7|cultureinfo=en-AU|charset=ISO-8859-1|titlematchfactor=90} * index_variable_element.modify {calculate(format=date,-MMMM-dd-yyyy)|'urldate'} index_variable_element.modify {cleanup(style=lower)} url_index {url()|http://www.ictv.net.au/|urldate|####|.html} url_index.modify {replace()|####|'index_variable_element'} urldate.format {weekdayname|76-monday|77-tuesday|84-wednesday|79-thursday|80-friday|81-saturday|82-sunday} * this site has an varying number of shows from the previous evening on the index page * the following loop solves this problem by selecting only the shows of the day of the index_page scope.range {(splitindex)|end} index_showsplit.scrub {multi||||} *split in index page index_showsplit.modify {|} index_temp_1.modify {calculate(type=element format=F0)|'index_showsplit' #} index_temp_3.modify {calculate(format=date,vba)|'now'} * used to calculate the date loop {('index_temp_1' > "0" max=10)|end} * step through the index page, from last to first index_temp_1.modify {calculate(format=f0)|1 -} * index of the page to examine index_temp_2.modify {substring(type=element)|'index_showsplit' 'index_temp_1' 1} * copy of the page index_temp_2.modify {replace|||||} * this site uses a 'non standard' time syntax e.g. 12:08 am is used for 12:08 which should be 12:08 pm according to the standard * correct aand convert to 24 hour system: index_temp_6.modify {clear} index_temp_6.modify {addstart('index_start' ~ "pm")|pm} * used to calculate the corrected time index_start.modify {remove(type=word)|1 1} * remove am and pm index_start.modify {calculate('index_temp_6' ~ "pm" format=time,HH:mm)|'index_start' 12:00 +} index_title.scrub {multi(separator="" include=last)|style="height: 15.0pt;" height="15">||||} index_title.modify {cleanup(tags="<"">")} * * the following checks the date and ignores the show if the date is before now index_temp_1.scrub {multi(separator="" include=first)|style="height: 15.0pt;" height="15">||||} * the date index_temp_1.modify {calculate(format=date,vba)} *convert to vba date number index_temp_2.modify {calculate(format=date,vba)|'now'} *'now' converted to vba date number index_title.modify {clear('index_temp_1' < 'index_temp_2')} * clear title if date before now (will ignore show) * * correct start with half an hour (waiting for build 51 that supports half hour timezones) * not sure if add or substract! *index_start.modify {calculate(format=time)|'index_start' 0:30 +} * to add! *index_start.modify {calculate(format=time)|'index_start' 0:30 -} * to substract! * ** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file) ** ** @auto_xml_channel_start ** single fixed channel *index_site_id.scrub {|} *index_site_channel.modify {addstart|ICTV} *index_site_id.modify {addstart|ictv} ** @auto_xml_channel_end