**------------------------------------------------------------------------------------------------ * @header_start * WebGrab+Plus ini for grabbing EPG data from TvGuide websites * @Site: meo.pt * @MinSWversion: V2.0 * @Revision 5 - [03/05/2017] Blackbear199 * site changes(new epg page) * @Revision 4 - [20/10/2014] Jan van Straaten * small improvements (headers, timezone) * @Revision 3 - [08/05/2014] Jan van Straaten * adapted to site changes * @Revision 2 - [26/04/2011] Willy De Wilde/Jan van Straaten * none * @Remarks: * * @header_end **------------------------------------------------------------------------------------------------ site {url=meo.pt|timezone=Europe/Lisbon|maxdays=7|cultureinfo=pt-PT|charset=utf-8|titlematchfactor=60} site {ratingsystem=PT|episodesystem=onscreen} * url_index{url|https://www.meo.pt/_layouts/15/Ptsi.Isites.GridTv/GridTvMng.asmx/getProgramsFromChannels} url_index.headers {method=POST} url_index.headers {customheader=Accept-Encoding=gzip,deflate} url_index.headers {contenttype=application/json} url_index.headers {postdata={"service":"channelsguide","channels":["'channel'"],"dateStart":"'urldate'T03:00:00.000Z","dateEnd":"'index_temp_1'T03:00:00.000Z","accountID":""}} * index_temp_1.modify {calculate(scope=urlindex format=date,yyyy-MM-dd)|'urldate' 01:00:00 +} * urldate.format {datestring|yyyy-MM-dd} * index_urlchannellogo {url||"channels":[|"logo":"|",|]} * index_showsplit.scrub {multi|"programs":[{||}]|}]} scope.range{(splitindex)|end} index_showsplit.modify {replace|\},\{|\|} index_temp_1.modify {substring(type=regex)|'index_showsplit' "\"date\":\"\d{1,2}-\d{1,2}-\d{4}\",\"timeIni\":\"\d{2}:\d{2}\","} index_temp_1.modify {cleanup(removeduplicates link="index_showsplit")} end_scope * index_temp_1.scrub {single|"uniqueId":"||",|",} index_urlshow.modify {addstart('index_temp_1' not "")|https://www.meo.pt/_layouts/15/Ptsi.Isites.GridTv/GridTvMng.asmx/getProgramDetails} index_urlshow.headers {method=POST} index_urlshow.headers {customheader=Accept-Encoding=gzip,deflate} index_urlshow.headers {contenttype=application/json} index_urlshow.headers {postdata={"service":"programdetail","programID":"'index_temp_1'","accountID":""}} * index_start.scrub {regex||"date":"(\d{1,2}-\d{1,2}-\d{4}","timeIni":"\d{2}:\d{2})",||} index_stop.scrub {single|"timeEnd":"||",|",} index_title.scrub {single|"name":"||",|",} * scope.range {(indexshowdetails)|end} index_start.modify {replace|","timeIni":"| } index_episode.modify {substring(pattern="T'S1' - Ep. 'E1'""- Ep. 'E1'" type=regex)|'index_title' "((?:T\d+\s)?-\sEp\.\s\d+)"} index_title.modify {remove(type=regex)|\s(?:T\d+\s)?-\sEp\.\s\d+} end_scope * title.scrub {single|"progName":"||",|",} description.scrub {single|"description":"||",|",} showicon.scrub {single|"progImageM":"||",|",} * scope.range {(showdetails)|end} title.modify {cleanup(style=jsondecode)} title.modify {remove(type=regex)|\s(?:T\d+\s)?-\sEp\.\s\d+} description.modify {cleanup(style=jsondecode)} end_scope ** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file) ** ** @auto_xml_channel_start *url_index{url|https://www.meo.pt/_layouts/15/Ptsi.Isites.GridTv/GridTvMng.asmx/getGridAnon} *url_index.headers {postdata={"service":"allchannels"}} *index_site_id.scrub {multi(exclude="null")|{"__type":"Ptsi.Isites.GridTv.CanaisService.Channels"|"sigla":"|",|"url":} *index_site_channel.scrub {multi(excludeblock="\"sigla\":null,")|{"__type":"Ptsi.Isites.GridTv.CanaisService.Channels"|"name":"|",|"url":} ** @auto_xml_channel_end