114 lines
5.9 KiB
INI
Executable File
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
|