**------------------------------------------------------------------------------------------------ * @header_start * WebGrab+Plus ini for grabbing EPG data from TvGuide websites * @Site: www.myblobbox.com * @MinSWversion: V1.1.1/53.7 * none * @Revision 0 - [01/02/2014] Steve Wildmore * none * @Remarks: * none * @header_end **------------------------------------------------------------------------------------------------ site {url=www.myblobbox.com|timezone=UTC+01:00|maxdays=9|cultureinfo=it-IT|charset=UTF-8|titlematchfactor=90|episodesystem=onscreen} urldate.format {list|-1|0|1|2|3|4|5|6|7} url_index{url|http://www.myblobbox.com/it/epg/api/channel/|channel|/offset/|urldate|/} url_index.modify {replace|offset/-1|yesterday} index_variable_element.modify {clear} index_variable_element.modify {addstart("")|'config_site_id'} * http://www.myblobbox.com/it/epg/#channel/1/offset/-1/tutto/ * http://www.myblobbox.com/it/epg/api/channel/1/offset/1/ (offset 0 to 7) * http://www.myblobbox.com/it/epg/api/channel/1/yesterday/ (offset -1) * Grouping format: * d = day * 1. ma = mattina (morning) * 4. no = notte (night) * 2. po = pomeriggio (afternoon) * 3. se = sera (evening) * json file format: * p = past * c = channel * t = title <-- use * ty = type (category) <-- use * i = info (details) <-- use * h = hour (time) <-- use * ty_id = type id * ci = ??? * o = online now index_date.scrub {single(force)|"d": |"|"|, "no"} scope.range {(splitindex)|end} * 4 sections in this order: "ma", "no", "po", "se" * to be reordered as: "ma", "po", "se", "no" * index_showsplit.scrub {multi|"ma": |[|]|} index_temp_1.modify {calculate(type=element format=F0)|'index_showsplit' #} * number of elements (+1) index_temp_1.modify {calculate(format=F0)|'index_temp_1' 4 -} * index of last "no" element loop {('index_temp_1' > "0" max=36)|end} index_temp_2.modify {substring(type=element)|'index_showsplit' 'index_temp_1' 1} * "no" element index_temp_4.modify {calculate(format=F0)|'index_temp_1' 2 +} * pointer to "se" element index_temp_3.modify {substring(type=element)|'index_showsplit' 'index_temp_4' 1} * "se" element index_showsplit.modify {replace|'index_temp_3'|'index_temp_3'###} * mark end of "se" element index_showsplit.modify {remove|'index_temp_2'} * remove element "no" from its position index_showsplit.modify {replace|###|\|'index_temp_2'} * add element "no" at end of element "se" index_temp_2.modify {clear} index_temp_3.modify {clear} index_temp_1.modify {calculate(format=F0)|4 -} * decrease index to next "no" end_loop index_showsplit.modify {replace|\}, \{|\|} index_showsplit.modify {replace|\{|} index_showsplit.modify {replace|\}|} end_scope index_start.scrub {regex||"h"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} index_title.scrub {regex||"t"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} index_category.scrub {regex||"ty"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||} * http://www.myblobbox.com/it/epg/channel/1/show/3926080/ index_temp_2.scrub {regex||"i"\s*:\s*((?:[^\s,])*)\s*,||} * show number index_urlshow.modify {clear} index_urlshow.modify {addstart('index_temp_2' not "")|http://www.myblobbox.com/it/epg/channel/} index_urlshow.modify {addend('index_temp_2' not "")|'index_variable_element'/show/'index_temp_2'/} title.scrub {single|og:title|content='| />| />} title.modify {cleanup} description.scrub {regex|||
} *index_site_channel.scrub {multi|
||
} *scope.range {(channellist)|end} *index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")} *end_scope ** @auto_xml_channel_end