179 lines
9.4 KiB
INI
Executable File
179 lines
9.4 KiB
INI
Executable File
**------------------------------------------------------------------------------------------------
|
|
* @header_start
|
|
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
|
|
* @Site: plus.es
|
|
* @MinSWversion: V2.1.5
|
|
* @Revision 13 - [21/07/2018] Trujulu
|
|
* - Remove unhandled \ on code
|
|
* - Replace " : " to ": " if needed on wrong titles.
|
|
* @Revision 12 - [15/04/2018] MrSpock
|
|
* - Added new fields: writer, composer, producer, presenter, country...
|
|
* - Fixed titleoriginal and director and other minor improvements (anyway, it is not 100% accurate due to how they put the information)
|
|
* - Reviewed title, subtitle to better handle season and episode info.
|
|
* @Revision 11 - [04/10/2017] Blackbear199
|
|
* - Reviewed option to get the age of the programs
|
|
* - Added options to get the star-rating
|
|
* @Revision 10 - [27/05/2017] Netuddki
|
|
* - Better episode system
|
|
* - index url changed
|
|
* @Revision 9 - [26/09/2016] Blackbear199
|
|
* - showsplit fix
|
|
* @Revision 8 - [27/07/2016] Jan van Straaten
|
|
* - enabled stop time (fix in 56.29) andded end_scope for showdetails
|
|
* @Revision 7 - [24/07/2016] Blackbear199
|
|
* - showsplit fix
|
|
* @Revision 6 - [11/07/2016] Blackbear199
|
|
* - showsplit fix,disabled stop & duration(only 3 days epg when enabled)
|
|
* @Revision 5 - [12/06/2016] Blackbear199
|
|
* - fix subtitle,add option to add season/episode to title
|
|
* @Revision 4 - [17/02/2016] Blackbear199
|
|
* - fixed index_showsplit,actor,director,productiondate scrub.
|
|
* @Revision 3 - [04/09/2015] Francis De Paemeleere
|
|
* convert to classical credits
|
|
* @Revision 2 - [23/07/2015] Willy De Wilde
|
|
* New website, rewrite
|
|
* Thanks to aleceuta for finding the json webpage
|
|
* @Revision 1 - [23/07/2014] Jan van Straaten
|
|
* - fixed start time errors and added episode, rating and productiondate
|
|
* @Revision 0 - [16/07/2014] Francis De Paemeleere/ Jan van Straaten
|
|
* - creation
|
|
* @Remarks:
|
|
* @header_end
|
|
**------------------------------------------------------------------------------------------------
|
|
*
|
|
site {url=plus.es|timezone=Europe/Madrid|maxdays=7|cultureinfo=es-ES|charset=UTF-8|titlematchfactor=70|ratingsystem=ES}
|
|
site {keepindexpage|allowlastpageoverflow}
|
|
*
|
|
site {episodesystem=onscreen} *Enable for Onscreen Episode System
|
|
*site {episodesystem=xmltv_ns} *Enable for xmltv_ns Episode System
|
|
*
|
|
url_index{url|http://www.movistarplus.es/programacion-tv/|urldate|/?v=json}
|
|
url_index.headers {customheader=Accept-Encoding=gzip,deflate}
|
|
urldate.format {datestring|yyyy-MM-dd}
|
|
*
|
|
index_variable_element.modify {set|"'config_site_id'-CODE"}
|
|
index_showsplit.scrub {multi|'index_variable_element'|{"ESTRENO"|}|}]}}
|
|
scope.range{(splitindex)|end}
|
|
index_temp_1.modify {substring(type=regex)|'index_showsplit' "\"HORA_INICIO\":\"(\d{2}:\d{2})\""}
|
|
index_temp_1.modify {cleanup(removeduplicates span=1 link="index_showsplit")}
|
|
end_scope
|
|
*
|
|
scope.range{(indexshowdetails)|end}
|
|
index_start.scrub {single|HORA_INICIO":"||"|"}
|
|
*index_stop.scrub {single|HORA_FIN":"||"|"}
|
|
*index_title.scrub {single(separator=":""(" include=first)|"TITULO":"||"|"}
|
|
*index_title.scrub {single(separator=":" exclude=last)|"TITULO":"||"|"}
|
|
*For some shows with ':' it does not work properly:
|
|
* "NCIS: Los Angeles (T5): Ep.17 Entre las líneas enemigas"
|
|
index_temp_2.scrub {single|"TEMPORADA":"||"|"}
|
|
index_title.scrub {single|"TITULO":"||"|"}
|
|
index_title.modify {remove('index_temp_2' not "")| 'index_temp_2'}
|
|
index_title.modify {remove(type=regex)|"\s*\(T\d+\)"}
|
|
index_title.modify {remove(type=regex)|":\s*Episodio\s*\d+"}
|
|
index_title.modify {remove(type=regex)|"\s*Ep\.\s*\d+"}
|
|
index_title.modify {replace|\/|/}
|
|
index_title.modify {replace|//|/}
|
|
index_title.modify {cleanup(style=unidecode)}
|
|
* Clean title to remove spaces, but it also removes '!' and '?' and ']'... so used this workaround to clean it:
|
|
index_title.modify {addend|XxyyzZ}
|
|
index_title.modify {cleanup}
|
|
index_title.modify {remove|XxyyzZ}
|
|
index_title.modify {remove|\} * workaround to remove \ from title
|
|
*
|
|
*index_category.scrub {single|GENERO|":"|"}
|
|
*index_category.modify {cleanup}
|
|
*index_category.modify {remove|\}
|
|
* show page has more detailed categories
|
|
index_urlshow {url||"URL":"||"}
|
|
index_urlshow.modify {remove|\}
|
|
index_urlshow.headers {customheader=Accept-Encoding=gzip,deflate}
|
|
end_scope
|
|
*
|
|
scope.range{(showdetails)|end}
|
|
title.modify {addstart|'index_title'}
|
|
subtitle.scrub {single(separator=":" include=last)|<div class="title-image">|<h1 class="h-epsilon">|</h1>|</div>}
|
|
subtitle.modify {clear(~ "Episodio")}
|
|
*subtitle.modify {remove(type=regex)|\(.+?\)}
|
|
subtitle.modify {cleanup(style=unidecode)}
|
|
subtitle.modify {clear('index_title')}
|
|
subtitle.modify {cleanup}
|
|
title.modify {remove('subtitle' not "")|: 'subtitle'}
|
|
*title.modify {addend|XxyyzZ}
|
|
*title.modify {cleanup}
|
|
*title.modify {remove|XxyyzZ}
|
|
*
|
|
*titleoriginal.scrub {single|<h1 itemprop="name" class="h-epsilon">|(|)|</h1>} *they have changed it
|
|
* new titleoriginal:
|
|
titleoriginal.scrub {single|<p class="h-gamma">||</p>|}
|
|
titleoriginal.modify {remove(type=regex)|"\.*\s*TEMPORADA \d+/\d+"}
|
|
titleoriginal.modify {remove(type=regex)|"\.*\s*TEMPORADA \d+"}
|
|
titleoriginal.modify {remove('title')|'titleoriginal'} * erase if title=titleoriginal
|
|
*
|
|
episode.scrub {regex set(pattern="Temporada 'S1' Episodio 'E1'")||<title>.*?(Temporada \d+\. Episodio \d+)||}
|
|
episode.modify {replace|.| }
|
|
*
|
|
description.scrub {multi|<div itemprop="description"|<p>|</p>|</div>}
|
|
description.modify {replace|\'\'|"} * Sometimes, they use 2 ' instead of "
|
|
description.modify {cleanup}
|
|
* multiple categories:
|
|
category.scrub {multi(separator=" / ")|<p itemprop="genre">||</p>|</p>}
|
|
category.modify {remove|Programa} * It does not mean anything useful
|
|
director.scrub {single|Director</h3>|<span itemprop="name" >|</span>|<h3}
|
|
director.modify {remove|Varios} * It does not provide useful information
|
|
* new writer, composer, producer, presenter:
|
|
writer.scrub {multi|Guionista</h3>|<span >|</span>|</p>}
|
|
composer.scrub {multi|Compositor</h3>|itemprop="name" >|</span>|</p>}
|
|
producer.scrub {multi|Productor</h3>|<span >|</span>|</p>}
|
|
presenter.scrub {multi|Presentador</h3>|<span >|</span>|</p>}
|
|
*
|
|
actor.scrub {multi|<h3 class="heading">Reparto</h3>|<span itemprop="name" >|</span>|</div>}
|
|
productiondate.scrub {single|<p itemprop="datePublished"|content="|"| >}
|
|
showicon.scrub {single|<div class="cover">|<img src="|"| alt}
|
|
ratingicon.scrub {url|http://www.plus.es|Calificación</h3><img src="||"|"}
|
|
rating.scrub {single|Calificación</h3>|src="/assets/images/movistar-plus/calf-|.svg"|<div>}
|
|
rating.modify {cleanup(style=upper)}
|
|
starrating.scrub {single|<div class="rating-value">|<span itemprop="ratingValue" class="rating">|</span>|</div>}
|
|
*starrating.modify {calculate(format=F0)|2 *}
|
|
starrating.modify {clear("0")}
|
|
starrating.modify {addend(not "")|/5} * Changed to be from 1 to 5 instead from 1 to 10
|
|
* Country: scrub country and year, then remove year:
|
|
country.scrub {single|itemprop="datePublished"|>|</p>|<p>}
|
|
country.modify {remove(type=regex)|"\s*\(\d+\)"}
|
|
* Stated real show duration:
|
|
temp_1.scrub {single|class="time">||'</span>|}
|
|
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
*For use with Rex for MediaPortal:
|
|
*to have show duration, original title and country used by Rex, remove the * from the beginning of the lines below:
|
|
*starrating.modify {addstart('temp_1' not "")|'temp_1'. }
|
|
*starrating.modify {addstart('titleoriginal' not "")|('titleoriginal') }
|
|
*starrating.modify {addstart('country' not "")|'country'. }
|
|
* in Rex, the following should be used:
|
|
* <desc>{'subtitle'. }{'productiondate'. }{'starrating' }{['rating']. }{'category(, )'. }{'episode'. }{\nInt.: 'actor(, )'. }{\nDir.: 'director(, )'. }{\n'description' }{\nPresenta: 'presenter(, )'. }{\nGuión: 'writer(, )'. }{\nMúsica: 'composer(, )'. }{\nProducción: 'producer(, )'.}</desc>
|
|
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
* to add SxEx: [subtitle] back to title or subtitle remove the * from the beginning of the lines below
|
|
* this will give a warning that the index_title is different from showdetails title in
|
|
* webgrab++.log,they can be ignored.
|
|
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
*temp_3.modify {addstart('episode' not "")|'episode'}
|
|
*temp_3.modify {replace(not "")|Temporada |S} *replace S with T for TxEx format
|
|
*temp_3.modify {replace(not "")| Episodio |E}
|
|
*temp_3.modify {addend('subtitle' not "")|: 'subtitle'}
|
|
*title.modify {addend('temp_3' not "")| 'temp_3'} *adds to title
|
|
*subtitle.modify {clear} *enable if you use season/episode in subtitle
|
|
*subtitle.modify {addstart('temp_3' not "")| 'temp_3' } *adds to subtitle
|
|
*episode.modify {clear} * enable to remove season/episode element from epg data
|
|
*title.modify {replace| : |: } * workaround to remove double spacing " : " when using episode and season
|
|
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
* end section
|
|
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
end_scope
|
|
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
|
|
**
|
|
** @auto_xml_channel_start
|
|
*index_site_channel.scrub {multi|"NOMBRE":"||"}
|
|
*index_site_id.scrub {multi|"CODIGO":"||"}
|
|
*index_site_channel.modify {cleanup}
|
|
*index_site_id.modify {cleanup}
|
|
** @auto_xml_channel_end
|