**------------------------------------------------------------------------------------------------ * @header_start * WebGrab+Plus ini for grabbing EPG data from TvGuide websites * @Site: yelotv.be * @MinSWversion: V2.1.5 * @Revision 6 - [23/02/2019] Michaël Arnauts * Use new urls * @Revision 5 - [29/12/2018] Michaël Arnauts * Improve json parsing * @Revision 4 - [04/06/2017] Netuddki * cleanup special characters * @Revision 3 - [24/05/2017] Netuddki * complete rewrite * @Revision 2 - [19/11/2013] Francis De Paemeleere * adjust to site changes * @Revision 1 - [16/11/2013] Francis De Paemeleere * add sorting of shows (sometimes shows were not chronological ordered) * @Revision 0 - [06/08/2013] Francis De Paemeleere * - creation * @header_end **------------------------------------------------------------------------------------------------ * site {url=yelotv.be|timezone=UTC|maxdays=14|cultureinfo=nl-BE|charset=UTF-8|titlematchfactor=90} * site {episodesystem=onscreen} *Enable for Onscreen Episode System *site {episodesystem=xmltv_ns} *Enable for xmltv_ns Episode System * url_index{url|https://pubba.yelo.prd.telenet-ops.be/v1/events/schedule-day/outformat/json/lng/en/channel/|channel|/day/|urldate|/platform/web/} url_index.headers {customheader=Accept-Encoding=gzip,deflate} urldate.format {datestring|yyyy-MM-dd} index_showsplit.scrub {regex||{"eventpvrid(.*?)}||} * index_temp_1.scrub {regex||"eventid":(.*?),"||} index_urlshow.modify {addstart|https://pubba.yelo.prd.telenet-ops.be/v1/events/detail/outformat/json/lng/nl/id/'index_temp_1'/} *for Dutch *index_urlshow.modify {addstart|https://pubba.yelo.prd.telenet-ops.be/v1/events/detail/outformat/json/lng/fr/id/'index_temp_1'/} *for French * index_start.scrub {regex||"starttime":(.*?),"||} index_stop.scrub {regex||"endtime":(.*?),"||} index_title.scrub {regex||^.*?"title"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} index_title.modify {cleanup(style=jsondecode)} * title.scrub {regex||^.*?"title"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} title.modify {cleanup(style=jsondecode)} subtitle.scrub {regex||^.*?"subtitle"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} subtitle.modify {cleanup(style=jsondecode)} description.scrub {regex||^.*?"longsynopsis"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} description.modify {cleanup(style=jsondecode)} category.scrub {regex||^.*?"contentlabel"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} category.modify {cleanup(style=jsondecode)} showicon.scrub {regex||^.*?"image"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} showicon.modify {cleanup(style=jsondecode)} country.scrub {regex||^.*?"location"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} country.modify {cleanup(style=jsondecode)} productiondate.scrub {regex||^.*?"year"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} productiondate.modify {cleanup(style=jsondecode)} * temp_1.scrub {regex||"season":([1-9]+)||} temp_1.modify {addstart('temp_1' not "")|S} temp_2.scrub {regex||"episode":([1-9]+)||} temp_2.modify {addstart('temp_2' not "")|E} temp_2.modify {addstart('temp_1' not "")|'temp_1'} episode.modify {set(pattern="S'S1'E'E1'""E'E1'""S'S1'")|'temp_2'} * actor.scrub {regex||^.*?"name"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} actor.modify {cleanup(style=jsondecode)} ** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file) ** ** @auto_xml_channel_start * *url_index{url|https://pubba.yelo.prd.telenet-ops.be/v1/events/schedule-day/outformat/json/lng/en/channel/|subpage|/day/|urldate|/platform/web/ *subpage.format {list(format=F0 step=1 count=999)|0} *takes a few minutes *urldate.format {datestring|yyyy-MM-dd} *index_site_id.scrub {regex||"channelid":(.*?),"||} *index_site_channel.scrub {regex||"name":"(.*?)","||} *index_site_channel.modify {cleanup} ** @auto_xml_channel_end