")||}
*
@@ -30,41 +32,33 @@ scope.range {(splitindex)|end}
index_showsplit.modify {cleanup(removeduplicates=equal span=2)}
index_showsplit.modify {remove| }
end_scope
-
-scope.range {(indexshowdetails)|end}
-* get the site_id into index_temp_2 for header referer:
-index_variable_element.modify {clear}
-index_variable_element.modify {addstart|'config_site_id'}
-index_temp_2.modify {addstart|'index_variable_element'}
*
-index_start.scrub {single||\n|\n-|}
-index_stop.scrub {single||-\n||}
+scope.range {(indexshowdetails)|end}
+index_start.scrub {single(separator="-" include=first)||||}
+index_stop.scrub {single(separator="-" include=last)||||}
index_title.scrub {single(separator=" - " include=first)||||
}
index_subtitle.scrub {single(separator=" - " exclude=first)||||
}
index_category.scrub {single|class='||' id|}
index_title.modify {remove(type=regex)|'index_title' ".+( T\.\d+ Ep\.\d+)"} * removes episode to improve incremental grabbing
-* prepare postdata inti index_variable_element:
+*
index_temp_1.scrub {regex||id='(\d*)'||} * the showid
-index_variable_element.modify {clear}
-index_variable_element.modify {addstart|\'programId\':'index_temp_1',\'channelAcronym\':\''config_xmltv_id'\',\'hour\':\'0\',\'startHour\':\'0\',\'endHour\':\'0\'}
-end_scope
-* urlshow and headers:
-index_urlshow.modify {addstart('index_temp_1'not="")|http://www.nos.pt/_layouts/Armstrong/ApplicationPages/EPGGetProgramsAndDetails.aspx/GetProgramDetails}
+index_temp_1.modify {set|\'programId\':'index_temp_1',\'channelAcronym\':\''index_variable_element'\',\'hour\':\'0\',\'startHour\':\''index_start'\',\'endHour\':\''index_stop'\'}
+*
+index_urlshow.modify {addstart('index_temp_1'not="")|http://www.nos.pt/_layouts/15/Armstrong/ApplicationPages/EPGGetProgramsAndDetails.aspx/GetProgramDetails}
index_urlshow.headers {method=POST}
index_urlshow.headers {customheader=Accept-Encoding=gzip,deflate}
index_urlshow.headers {accept=application/json, text/javascript, */*; q=0.01}
index_urlshow.headers {contenttype=application/json; charset=utf-8}
index_urlshow.headers {customheader=X-Requested-With=XMLHttpRequest}
-index_urlshow.headers {referer=http://www.nos.pt/particulares/televisao/guia-tv/Pages/channel.aspx?channel='index_temp_2'}
+index_urlshow.headers {referer=http://www.nos.pt/particulares/televisao/guia-tv/Pages/channel.aspx?channel='config_site_id'}
index_urlshow.headers {host=www.nos.pt}
-index_urlshow.headers {postdata={'index_variable_element'}}
-*{'programId':'74422','channelAcronym':'RTP1','hour':'0','startHour':'0','endHour':'0'}
-*{'programId':'100313','channelAcronym':'TVI24','hour':'0','startHour':''0','endHour':'0'}
+index_urlshow.headers {postdata={'index_temp_1'}}
+end_scope
*
scope.range {(showdetails)|end}
title.scrub {regex||{\"d\":\"(.+?)_#||}
title.modify {replace(= "Sem título...")|'title'|'index_title'}
-description.scrub {single|$_||_#|$_}
+description.scrub {single|$_||_#|_#}
description.modify {cleanup(style=jsondecode)}
*extract episode from title
temp_6.modify {calculate(type=char format=F0)|'title' " T." @}
diff --git a/config/siteini.pack/Portugal/vodafone.pt.channels.xml b/config/siteini.pack/Portugal/vodafone.pt.channels.xml
new file mode 100644
index 0000000..0fdf34b
--- /dev/null
+++ b/config/siteini.pack/Portugal/vodafone.pt.channels.xml
@@ -0,0 +1,193 @@
+
+
+
+ QYOU HD
+ História
+ FOX
+ AfroMusic Portugal
+ MTV Portugal
+ Cinemundo
+ TVI24
+ RTPHD
+ Record News
+ PORTOC HD
+ Touros
+ Sport TV + HD
+ RTP 3
+ RTP 2
+ Sport TV +
+ Fuel TV
+ Kuriakos TV
+ Nat Geo
+ C Music TV
+ Fashion TV
+ TV Record HD
+ SIC K
+ SIC Notícias
+ SIC Mulher
+ RTP Africa
+ Panda
+ MEZZO
+ TVE 24h
+ SIC Radical
+ MCM TOP SD
+ Cartoon Network
+ TV Series
+ TVI HD
+ SIC H
+ Disney Channel
+ RTP 1 HD
+ Discovery HD
+ TV5 Monde
+ TV Cine 2 HD
+ Mov
+ TVC NEWS
+ SET Max
+ 24Kitchen HD
+ Jim Jam
+ SET Ásia
+ Localvisão HD
+ Nautical Channel
+ RTP Madeira
+ AXN Black HD
+ Nat Geo Wild HD
+ Deutche Welle
+ Caza & Pesca
+ 24Kitchen
+ Fox HD
+ AXN
+ FOX Comedy
+ PFC
+ SyFy HD
+ Phoenix InfoNews
+ Bloomberg
+ AXN White
+ DJAZZ
+ Disney Junior
+ AXN Black
+ VH1 Europe
+ RAI News
+ MEZZO Live HD
+ Odisseia
+ Sport TV 3 HD
+ SIC
+ Nat Geo HD
+ Benfica TV HD
+ Fight Network HD
+ GINX
+ Fightbox HD
+ Eurosport 2
+ SIC HD
+ CNN
+ BBC Entertainment
+ Canal 180
+ TV Cine 1 HD
+ MCM TOP
+ Russia Today
+ TV Record
+ TV Galicia
+ TLC
+ Fashion TV HD
+ Motors TV HD
+ Eurosport
+ MCM POP
+ Canal Q HD
+ FOX Crime
+ E!
+ Travel
+ Star Plus
+ Sky News
+ Canal Parlamento
+ Económico TV
+ DOGTV
+ RTP Açores
+ Fox Crime HD
+ Hollywood
+ SPORT TV3
+ KBS
+ SPORT TV4
+ FOX Comedy HD
+ SPORT TV1
+ Euronews
+ SPORT TV2
+ TVI
+ France 24 FR
+ SPORT TV5
+ France 24 Eng
+ TVC 3 HD
+ RTL
+ Food Network
+ M6
+ TV Globo
+ NGC Wild
+ Luxe TV HD
+ Eurosport 2 Xtra HD
+ Sport TV 1 HD
+ Discovery
+ TV Series HD
+ RTP Memoria
+ Star Gold
+ Fox Life HD
+ SyFy SD
+ Eurosport News
+ NHK WORLD TV
+ RTP 2 HD
+ Baby TV
+ Sport TV 4 HD
+ FastnFunbox HD
+ Cinemundo SD
+ CBS Reality
+ BBC World News
+ TV Globo Básico
+ AXN White HD
+ Sport TV 5 HD
+ Canal 180 HD
+ TVC 4 HD
+ Al Jazeera English
+ Cubavision
+ RAI 1
+ Canção Nova TV
+ CANAL Q
+ TVCine 4
+ Fuel TV HD
+ TVCine 3
+ Fox Movies
+ Fox Life
+ TVE Internacional
+ TVCine 2
+ TVCine 1
+ Sport TV 2 HD
+ VOX
+ Melody Zen. TV
+ SIC Caras
+ Trace TV
+ PRO TV International
+ Panda Biggs
+ Eurosport HD
+ TPA Internacional
+ MTV Portugal HD
+ AXN HD
+ Motors TV
+ Eurosport 2 Xtra SD
+ Brava TV HD
+ Localvisão
+ Fox Movies HD
+ Benfica TV
+ RTP 1
+ Super RTL
+ Económico TV HD
+ Porto Canal
+ CNBC
+ A&E
+ E! HD
+ Nacional
+ Desporto
+ Infantil
+ Filmes e Séries
+ Documentários
+ Música
+ Notícias
+ Generalistas
+ Entretenimento
+
+
\ No newline at end of file
diff --git a/config/siteini.pack/Portugal/vodafone.pt.ini b/config/siteini.pack/Portugal/vodafone.pt.ini
new file mode 100644
index 0000000..b8e17dd
--- /dev/null
+++ b/config/siteini.pack/Portugal/vodafone.pt.ini
@@ -0,0 +1,72 @@
+**------------------------------------------------------------------------------------------------
+* @header_start
+* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
+* @Site: vodafone.pt
+* @MinSWversion: V1.57
+* @Revision 2 - [21/10/2016] Francis De Paemeleere
+* - adding channel icons
+* @Revision 1 - [21/10/2016] Francis De Paemeleere
+* - adding show icons
+* @Revision 0 - [16/10/2016] Blackbear199
+* - creation
+* @Remarks:
+* @header_end
+**------------------------------------------------------------------------------------------------
+site {url=vodafone.pt|timezone=Europe/Lisbon|maxdays=7|cultureinfo=pt-PT|charset=UTF-8|titlematchfactor=90}
+site {ratingsystem=Pt|episodesystem=onscreen}
+*
+url_index{url|https://tvnetvoz.vodafone.pt/sempre-consigo/epg.do?action=getPrograms}
+*
+urldate.format {datestring|yyyy-MM-dd}
+*
+url_index.headers {method=POST}
+url_index.headers {accept=application/json, text/plain, */*}
+url_index.headers {contenttype=application/x-www-form-urlencoded; charset=UTF-8}
+url_index.headers {postdata=chanids='channel'&day='urldate'}
+*
+index_showsplit.scrub {regex||.*||}
+
+index_urlchannellogo.scrub {regex||^.*?"id"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||}
+scope.range{(datelogo)|end}
+index_urlchannellogo.modify {addstart|https://tvnetvoz.vodafone.pt/sempre-consigo/imgs?action=logo_channel_tablet_details&chanid=}
+index_urlchannellogo.modify {addend|&mime=true&no_default=false}
+end_scope
+
+scope.range{(splitindex)|end}
+index_temp_2.modify {substring(type=regex)|'index_showsplit' }
+global_temp_1.modify {substring(type=regex)|'index_showsplit' "^.*?"callLetter"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)""}
+index_showsplit.modify {substring(type=regex)|\{"startTime"[^\}]*\}}
+
+index_temp_1.modify {substring(type=regex)|'index_showsplit' "\"sid\":\"([^\"]*)\""}
+index_temp_1.modify {cleanup(removeduplicates link="index_showsplit")}
+end_scope
+*
+scope.range{(indexshowdetails)|end}
+index_date.scrub {single(force)|"date":"||"|"}
+index_start.scrub {single|"startTime":"||"|"}
+index_stop.scrub {single|"endTime":"||"|"}
+index_title.scrub {single(separator=" - " include=first)|"programTitle":"||"|"}
+index_subtitle.scrub {single(separator=" - " include=flast)|"programTitle":"||"|"}
+index_description.scrub {single|"programDetails":"||"|"}
+index_temp_2.scrub {regex||^.*?"pid"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"||}
+*
+index_temp_1.modify {substring(type=regex)|'index_title' ":(T\d+)"}
+index_episode.modify {substring(type=regex pattern="T'S1' Ep.'E1'""T'S1'""Ep.'E1'")|'index_title' "\s(Ep\.\d+)"}
+index_episode.modify {addstart('index_temp_1' not "")|'index_temp_1' }
+*
+index_title.modify {remove(type=regex)|:T\d+}
+index_title.modify {remove(type=regex)|\sEp\.\d+}
+index_description.modify {cleanup}
+*http://web.ottimg.vodafone.pt/iptvimageserver/Get/EURSP2_12380816/16_9/325/244
+index_showicon.modify {addstart|http://web.ottimg.vodafone.pt/iptvimageserver/Get/'global_temp_1'_'index_temp_2'/16_9/325/244}
+end_scope
+*
+** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
+**
+** @auto_xml_channel_start
+*url_index {url|https://tvnetvoz.vodafone.pt/sempre-consigo/datajson/epg/channels.jsp}
+*index_site_id.scrub {multi|"id":"||"|"}
+*index_site_channel.scrub {multi|"name":"||"|"}
+*index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")}
+** @auto_xml_channel_end
diff --git a/config/siteini.pack/SiteIni.Pack_2016.09.14_120630.txt b/config/siteini.pack/SiteIni.Pack_2016.10.21_103435.txt
similarity index 57%
rename from config/siteini.pack/SiteIni.Pack_2016.09.14_120630.txt
rename to config/siteini.pack/SiteIni.Pack_2016.10.21_103435.txt
index baa441a..69dbc99 100644
--- a/config/siteini.pack/SiteIni.Pack_2016.09.14_120630.txt
+++ b/config/siteini.pack/SiteIni.Pack_2016.10.21_103435.txt
@@ -1,3 +1,3 @@
;version file (keep in place)
[version]
-number="2016.09.14_120630"
+number="2016.10.21_103435"