Files
epg/siteini.pack/Singapore/starhubgo.com.ini
freearhey a597b11307 Init
2021-03-09 22:46:37 +03:00

114 lines
5.9 KiB
INI
Executable File

**------------------------------------------------------------------------------------------------
* @header_start
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
* @Site: starhubgo.com
* @MinSWversion: V1.57
* @Revision 5 - [17/08/2017] Blackbear199
* - episode info improvements
* @Revision 4 - [22/12/2016] Blackbear199
* - showsplit fix - shows with title "No Program" were not being scrubbed
* - shows elements ending with partial minutes not being scrubbed
* - stop time fix
* - other fixes/cleanup
* @Revision 3 - [07/12/2016] Blackbear199
* - channels.xml fix
* @Revision 2 - [25/11/2016] Blackbear199
* - site changes
* @Revision 1 - [09/10/2016] Blackbear199
* - site changes
* @Revision 0 - [18/04/2016] Blackbear199
* - creation
* @Remarks:
* @header_end
**------------------------------------------------------------------------------------------------
site {url=starhubgo.com|timezone=UTC|maxdays=7|cultureinfo=en-GB|charset=UTF-8|titlematchfactor=90}
site {ratingsystem=GB|episodesystem=xmltv_ns}
*
url_index{url|https://www.starhubgo.com/live/getLiveChannelPrograms?pCode=V4bmQyOqnbswtz9daXLyKFGCO8Zp&channelIds=[%22|channel|%22]&startTime=##start_date##T04:00:00.000Z&endTime=##end_date##T04:00:00.000Z&pageSize=8000&localDate=##start_date##&requestQuery=multiasset}
*
urldate.format {datestring|yyyy-MM-dd}
*
scope.range{(urlindex)|end}
index_variable_element.modify {set|1.0}
index_variable_element.modify {calculate(format=timespan,days)}
index_temp_1.modify {calculate(format=date,yyyy-MM-dd)|'urldate'}
index_temp_2.modify {calculate(format=date,yyyy-MM-dd)|'urldate' 'index_variable_element' +}
url_index.modify {replace|##start_date##|'index_temp_1'}
url_index.modify {replace|##end_date##|'index_temp_2'}
end_scope
*
*{:id":[show info]"64 Mins"} or {:id":[show info]"64.5 Mins"} *regular shows
*{"name":[show info]"durationInPixel":325} or {"name":[show info]"durationInPixel":325.5} *shows with title "No Program"
index_showsplit.scrub {regex||\{(?:"id"\|"name"):.*?(?:"\d+(?:\.\d+)?\sMins"\}\|"durationInPixel":\d+(?:\.\d+)?\})||}
*
index_start.scrub {single|"program_start_time":"||.000Z"|.000Z"}
index_stop.scrub {single|"program_end_time":"||.000Z"|.000Z"} *disable if having time issues
index_stop.modify {replace|T3:|T03:}
index_title.scrub {single|"name":"||","|","}
index_subtitle.scrub {single|"episode_title":"||","|","}
index_description.scrub {multi|"description":"||","|","}
index_category.scrub {regex||"(?:sub)?genre":"([^"]*)"||}
*
scope.range{(indexshowdetails)|end}
index_title.modify {remove| [HD]}
index_title.modify {remove(type=regex)|\s*\(HD\)}
index_title.modify {cleanup(style=jsondecode)}
index_productiondate.modify {substring(type=regex)|'index_title' "\d{4}"}
index_title.modify {remove('index_productiondate' not "")|'index_productiondate'}
index_temp_1.modify {substring(type=regex)|'index_title' "\s(?:\(S(\d+)\)\|\(Series\s(\d+)\)\|(\d+)\|([MDCLXVI]+))$"}
index_temp_1.modify {cleanup(style=roman2arabicnumeral)}
index_temp_1.modify {addstart(not "")|S}
index_episode.scrub {single|"episode_number":||,|,}
index_temp_1.modify {clear('index_episode' "")}
index_episode.modify {addstart('index_episode' not "")|E}
index_episode.modify {addstart(pattern="S'S1'E'E1'""S'S1'""E'E1'" 'index_temp_1' not "")|'index_temp_1'}
*
index_title.modify {remove('index_temp_1' not "" type=regex)|\s(\(S\d+\)\|\(Series\s\d+\)\|\d+\|[MDCLXVI]+)$}
index_title.modify {remove(type=regex)|\sEp\.\d+}
index_subtitle.modify {clear("-")}
index_subtitle.modify {clear(~ "Episode")}
index_subtitle.modify {remove(type=regex)|\([^\)]+\)}
index_subtitle.modify {cleanup(style=jsondecode)}
index_subtitle.modify {remove(type=regex)|\sEp\.\d+}
index_subtitle.modify {remove| [HD]}
index_subtitle.modify {remove(type=regex)|\s*\(HD\)}
index_subtitle.modify {clear('index_title')}
index_description.modify {cleanup(style=jsondecode)}
index_description.modify {replace|\\n|.}
index_description.modify {clear(".")}
index_category.modify {replace|;\\n |\|}
index_category.modify {cleanup(removeduplicates)}
index_category.modify {cleanup(style=jsondecode)}
end_scope
*
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
*
* enable Section 1 and run webgrab,copy the <channels...</channels> line from the starhuggo.com.channels.xml to your
* webgrab++.config.xml(overwrite the existing dummy entry).disable Section1 and enable Section 2.
* run webgrab again and a full channels.xml will be generated.
*
**********************************
* Section 1 *
**********************************
** @auto_xml_channel_start
*url_index{url|https://www.starhubgo.com/live/getLiveChannelsByFiltering?pCode=V4bmQyOqnbswtz9daXLyKFGCO8Zp&filterGenreID=Channel_|subpage|&requestQuery=labels}
*subpage.format {list|INTERNATIONAL|SPORTS|KIDS1|EDUCATION1|ENTERTAINMENT1|MOVIES1|NEWS1|CHINESE1}
*scope.range{(channellist)|end}
*index_site_id.scrub {multi(separator=",")|{"channelIds":[||]}|]}}
*index_site_id.modify {replace|\||,}
*index_site_channel.modify {addstart|All Channels}
*end_scope
**********************************
* Section 2 *
**********************************
*url_index{url|https://www.starhubgo.com/live/getLiveChannelsByIDs?pCode=V4bmQyOqnbswtz9daXLyKFGCO8Zp&channelIds=[|channel|]&fromDetailspage=undefined&requestQuery=channels}
*scope.range{(channellist)|end}
*index_site_id.scrub {regex||"href":"\\/channels\\/(\d+)","display_name":"[^"]*",||}
*index_site_channel.scrub {regex||"name":"([^\"]*","href":"\\/channels\\/\d+","display_name":"[^"]*)",||}
*index_site_channel.modify {replace(type=regex)|^[^\"]*(","href":"[^\"]*","display_name":").*$| - }
*index_site_channel.modify {cleanup(style=unidecode)}
*index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")}
*end_scope
** @auto_xml_channel_end