epg/siteini.pack/Australia/ictv.net.au.ini
freearhey a597b11307 Init
2021-03-09 22:46:37 +03:00

74 lines
No EOL
4.3 KiB
INI
Executable file

**------------------------------------------------------------------------------------------------
* @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|<tbody>||</tbody>|</tbody>} *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|<tr style|\|} * split in shows
index_temp_4.modify {calculate(format=date,dd/MM/yy)|'index_temp_3' 'index_temp_1' +} * the date of the index_page of index_temp_2
index_temp_2.modify {select()|'index_temp_4' ~} * select only the shows of the date
index_temp_2.modify {replace|\||####} * convert to single value
index_temp_6.modify {addstart|'index_temp_2'####} * add to target element
end_loop
index_showsplit.modify {clear}
index_showsplit.modify {addstart|'index_temp_6'}
index_showsplit.modify {replace|####|\|} * back to multi value
end_scope
*
index_start.scrub {multi(separator="</td><td>" include=2)|style="height: 15.0pt;" height="15">|||</tr>|</tr>}
* 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="</td><td>" include=last)|style="height: 15.0pt;" height="15">|||</tr>|</tr>}
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="</td><td>" include=first)|style="height: 15.0pt;" height="15">|||</tr>|</tr>} * 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