**------------------------------------------------------------------------------------------------ * @header_start * WebGrab+Plus ini for grabbing EPG data from TvGuide websites * @Site: nove.tv * @MinSWversion: * @Revision 0 - [06/12/2016] Francis De Paemeleere * - creation * @Remarks: * @header_end **------------------------------------------------------------------------------------------------ site {url=nove.tv|timezone=Europe/Rome|maxdays=7.1|cultureinfo=it-IT|charset=UTF-8|titlematchfactor=90|nopageoverlaps|episodesystem=xmltv_ns|keepindexpage} urldate.format {datestring|yyyy-MM-d} url_index{url|http://api.deejaytv.it/index.php?service=tvguide&format=json&split=day&from=##DATE_START##&to=##DATE_END##&callback=successo} url_index.headers {customheader=Accept-Encoding=gzip,deflate} * to speedup the downloading of the index pages scope.range(urlindex|end) index_temp_8.modify{calculate(format=date,yyyy-MM-d)|'urldate' +0:0:00 } index_temp_9.modify{calculate(format=date,yyyy-MM-d)|'urldate' +6:0:00 } url_index.modify {replace|##DATE_START##|'index_temp_8'} url_index.modify {replace|##DATE_END##|'index_temp_9'} end_scope index_variable_element.modify {set|'config_site_id'} index_showsplit.scrub {regex||{\s*\"name\"\s*:\s*\"'index_variable_element'\"[^}]*\"events"\s*:\s*\[([^\]]*)\]||} index_showsplit.modify {substring(type=regex)|\{\s*(\"day\"[^\}]*)} index_start.scrub {regex||^.*?"time"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} index_title.scrub {regex||^.*?"name"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} index_temp_1.scrub {regex||^.*?"seasonNumber"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} index_temp_2.scrub {regex||^.*?"episodeNumber"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} index_subtitle.scrub {regex||^.*?"episodeTitle"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} * index_temp_1 = season * index_temp_2 = episode index_temp_1.modify {calculate(not="" format=F0)|1 -} index_temp_2.modify {calculate(not="" format=F0)|1 -} index_episode.modify {clear} index_episode.modify {addend('index_temp_1' not="")|'index_temp_1'} index_episode.modify {addend|.} index_episode.modify {addend('index_temp_2' not="")|'index_temp_2'} index_episode.modify {addend|.} index_episode.modify {clear(="..")} index_start.modify{cleanup(style=jsondecode)} index_title.modify{cleanup(style=jsondecode)} index_subtitle.modify{cleanup(style=jsondecode)} index_start.modify{cleanup(style=jsondecode)} index_start.modify{cleanup(style=jsondecode)} ** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file) ** ** @auto_xml_channel_start *index_site_id.scrub {regex||\{\"name\"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} *scope.range {(channellist)|end} *index_site_channel.modify {set|'index_site_id'} *index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")} *end_scope ** @auto_xml_channel_end