home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Support
Electronic Program Guide
WebEPG
Source contribution to WEBEPG
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="fjonson" data-source="post: 39657" data-attributes="member: 11397"><p>This code handles the problems with DagensTv.com page layout for Sweden</p><p></p><p>One example</p><p>This is the last program for the day on one channel</p><p>If I run webepg as it is today this program will continue until the first program the next day or in this example to the next program that starts at 08:00.</p><p>So if I want to record this program I will record from 04:45 until 08:00 instead of 04:45 until 05:35</p><p>I also added a new function to get the ShowView number. </p><p></p><ul> <li data-xf-list-type="ul">04:45 <br /> Hulken (05:35) <br /> Amerikansk äventyrsserie från 1977-78. Del 7 av 16. David vaknar upp med en död fotomodell och är rädd för att han dödat henne då han var Hulken. Gästskådespelare: Loni Anderson. [4764572]</li> </ul><p></p><p></p><p>One suggestion from the time zone function use the English time zone name and add then following line. Other wise the time zone function is useless in my world.</p><p></p><p>RCS file: /cvsroot/mediaportal/mediaportal/Utils/Time/WorldTimeZone.cs,v</p><p>retrieving revision 1.7</p><p>diff -w -b -r1.7 WorldTimeZone.cs</p><p>275a276</p><p>> m_TimeZoneList.Add((string)timeZoneKeys<em>, TZInfo);</em></p><p><em></em></p><p><em></em></p><p><em>First the changes needed in grabber xml file</em></p><p><em></em></p><p><em>RCS file: /cvsroot/mediaportal/mediaportal/WebEPG/WebEPG-xmltv/bin/Release/grabbers/SE/www_dagenstv_com.xml,v</em></p><p><em>retrieving revision 1.4</em></p><p><em>diff -w -b -r1.4 www_dagenstv_com.xml</em></p><p><em>147c147</em></p><p><em>< <td><#TITLE><br><#DESCRIPTION></td></em></p><p><em>---</em></p><p><em>> <td><#TITLE#,(#END#),[#SHOWWVIEW#]><br><#DESCRIPTION#,[#SHOWWVIEW#]></td></em></p><p><em>156a157,162</em></p><p><em>> </em></p><p><em>> <section name="Info"></em></p><p><em>> <entry name="GuideDays">14</entry></em></p><p><em>> <entry name="TimeZone">W. Europe Standard Time</entry></em></p><p><em>> <entry name="Lang">se</entry></em></p><p><em>> </section></em></p><p><em></em></p><p><em>And the changes to the code</em></p><p><em></em></p><p><em>RCS file: /cvsroot/mediaportal/mediaportal/WebEPG/WebEPG/Parser/ProgramData.cs,v</em></p><p><em>retrieving revision 1.4</em></p><p><em>diff -w -b -r1.4 ProgramData.cs</em></p><p><em>23a24</em></p><p><em>> using System.Collections.Generic;</em></p><p><em>35a37</em></p><p><em>> public Int32 ShowView = 0;</em></p><p><em>67a70,72</em></p><p><em>> case "<#SHOWWVIEW>":</em></p><p><em>> ShowView = int.Parse(element.Trim(' ', '\n', '\t'));</em></p><p><em>> break;</em></p><p><em>68a74,85</em></p><p><em>> HandleSpecialTag(tag,element);</em></p><p><em>> break;</em></p><p><em>> }</em></p><p><em>> }</em></p><p><em>> public int GetCountOf(string search, string data)</em></p><p><em>> {</em></p><p><em>> int startindex = -1;</em></p><p><em>> int count = 0;</em></p><p><em>> while (true)</em></p><p><em>> {</em></p><p><em>> startindex = data.IndexOf(search, startindex + 1, data.Length - startindex - 1);</em></p><p><em>> if (startindex < 0)</em></p><p><em>69a87</em></p><p><em>> count++;</em></p><p><em>70a89,110</em></p><p><em>> return count;</em></p><p><em>> }</em></p><p><em>> public void HandleSpecialTag(string tag, string element)</em></p><p><em>> {</em></p><p><em>> int startIndex = 0;</em></p><p><em>> int endIndex = -1;</em></p><p><em>> string BeginStr = String.Empty;</em></p><p><em>> string EndStr = String.Empty;</em></p><p><em>> bool DataRemains = true;</em></p><p><em>> List<string> Tags = new List<string>();</em></p><p><em>> if (GetCountOf("#", tag) < 2)</em></p><p><em>> return;</em></p><p><em>> while (DataRemains)</em></p><p><em>> {</em></p><p><em>> endIndex = tag.IndexOf(',', startIndex + 1, tag.Length - startIndex - 1);</em></p><p><em>> // end the loop if the no more target found.</em></p><p><em>> if (endIndex < 0)</em></p><p><em>> {</em></p><p><em>> DataRemains = false;</em></p><p><em>> if (Tags.Count > 0)</em></p><p><em>> {</em></p><p><em>> Tags.Add(tag.Substring(startIndex + 1, tag.Length - startIndex - 2));</em></p><p><em>71a112,132</em></p><p><em>> else</em></p><p><em>> {</em></p><p><em>> Tags.Add(tag.Substring(1, tag.Length - 2));</em></p><p><em>> }</em></p><p><em>> }</em></p><p><em>> else</em></p><p><em>> {</em></p><p><em>> Tags.Add(tag.Substring(startIndex+1, endIndex - startIndex - 1));</em></p><p><em>> startIndex = endIndex;</em></p><p><em>> }</em></p><p><em>> </em></p><p><em>> }</em></p><p><em>> for (int i = 0; i < Tags.Count; i++)</em></p><p><em>> {</em></p><p><em>> if (((Tags<em>.Substring(0, 1) != "#") | (Tags<em>.Substring(Tags<em>.Length-1) != "#")) && (GetCountOf("#",Tags<em>) > 1))</em></em></em></em></em></p><p><em><em><em><em><em>> {</em></em></em></em></em></p><p><em><em><em><em><em>> if (element.IndexOf(Tags<em>.Substring(0,Tags<em>.IndexOf('#'))) > -1)</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> {</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> startIndex = -1;</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> endIndex = -1;</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> string TmpData = String.Empty;</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>72a134,171</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> // Search for all occurrences of the target.</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> while (true)</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> {</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> if (startIndex + 1 > element.Length) startIndex = -1;</em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em>> startIndex = element.IndexOf(Tags<em>.Substring(0, Tags<em>.IndexOf('#')), startIndex + 1, element.Length - startIndex - 1);</em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em>> // Exit the loop if the target is not found.</em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em>> if (startIndex < 0)</em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em>> break;</em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em>> endIndex = element.IndexOf(Tags<em>.Substring(Tags<em>.LastIndexOf('#') + 1), startIndex + 1, element.Length - startIndex - 1) + 1;</em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em>> if (endIndex < 0)</em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em>> break;</em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em>> TmpData = element.Substring(startIndex, endIndex - startIndex);</em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em>> if ((Tags<em>.IndexOf("START") > -1) | (Tags<em>.IndexOf("END") > -1))</em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em>> {</em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em>> if (TmpData.IndexOf(':') > -1)</em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em>> {</em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em>> SetElement("<" + Tags<em>.Substring(Tags<em>.IndexOf('#'), Tags<em>.LastIndexOf('#')) + ">", TmpData.Substring(1, TmpData.Length - 2));</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> element = element.Remove(startIndex, endIndex - startIndex);</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> else</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> {</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> SetElement("<" + Tags<em>.Substring(Tags<em>.IndexOf('#'), Tags<em>.LastIndexOf('#') - Tags<em>.IndexOf('#')) + ">", TmpData.Substring(1, TmpData.Length - 2));</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> element = element.Remove(startIndex, endIndex - startIndex);</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> } </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> } </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> for (int i = 0; i < Tags.Count; i++)</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> {</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> if ((Tags<em>.Substring(0, 1) == "#") && (Tags<em>.Substring(Tags<em>.Length-1) == "#"))</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> {</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> SetElement("<" + Tags<em>.Substring(Tags<em>.IndexOf('#'), Tags<em>.LastIndexOf('#') - Tags<em>.IndexOf('#')) + ">", element);</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> Tags.Clear();</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>> }<p></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p></blockquote><p></p>
[QUOTE="fjonson, post: 39657, member: 11397"] This code handles the problems with DagensTv.com page layout for Sweden One example This is the last program for the day on one channel If I run webepg as it is today this program will continue until the first program the next day or in this example to the next program that starts at 08:00. So if I want to record this program I will record from 04:45 until 08:00 instead of 04:45 until 05:35 I also added a new function to get the ShowView number. [list]04:45 Hulken (05:35) Amerikansk äventyrsserie från 1977-78. Del 7 av 16. David vaknar upp med en död fotomodell och är rädd för att han dödat henne då han var Hulken. Gästskådespelare: Loni Anderson. [4764572][/list] One suggestion from the time zone function use the English time zone name and add then following line. Other wise the time zone function is useless in my world. RCS file: /cvsroot/mediaportal/mediaportal/Utils/Time/WorldTimeZone.cs,v retrieving revision 1.7 diff -w -b -r1.7 WorldTimeZone.cs 275a276 > m_TimeZoneList.Add((string)timeZoneKeys[i], TZInfo); First the changes needed in grabber xml file RCS file: /cvsroot/mediaportal/mediaportal/WebEPG/WebEPG-xmltv/bin/Release/grabbers/SE/www_dagenstv_com.xml,v retrieving revision 1.4 diff -w -b -r1.4 www_dagenstv_com.xml 147c147 < <td><#TITLE><br><#DESCRIPTION></td> --- > <td><#TITLE#,(#END#),[#SHOWWVIEW#]><br><#DESCRIPTION#,[#SHOWWVIEW#]></td> 156a157,162 > > <section name="Info"> > <entry name="GuideDays">14</entry> > <entry name="TimeZone">W. Europe Standard Time</entry> > <entry name="Lang">se</entry> > </section> And the changes to the code RCS file: /cvsroot/mediaportal/mediaportal/WebEPG/WebEPG/Parser/ProgramData.cs,v retrieving revision 1.4 diff -w -b -r1.4 ProgramData.cs 23a24 > using System.Collections.Generic; 35a37 > public Int32 ShowView = 0; 67a70,72 > case "<#SHOWWVIEW>": > ShowView = int.Parse(element.Trim(' ', '\n', '\t')); > break; 68a74,85 > HandleSpecialTag(tag,element); > break; > } > } > public int GetCountOf(string search, string data) > { > int startindex = -1; > int count = 0; > while (true) > { > startindex = data.IndexOf(search, startindex + 1, data.Length - startindex - 1); > if (startindex < 0) 69a87 > count++; 70a89,110 > return count; > } > public void HandleSpecialTag(string tag, string element) > { > int startIndex = 0; > int endIndex = -1; > string BeginStr = String.Empty; > string EndStr = String.Empty; > bool DataRemains = true; > List<string> Tags = new List<string>(); > if (GetCountOf("#", tag) < 2) > return; > while (DataRemains) > { > endIndex = tag.IndexOf(',', startIndex + 1, tag.Length - startIndex - 1); > // end the loop if the no more target found. > if (endIndex < 0) > { > DataRemains = false; > if (Tags.Count > 0) > { > Tags.Add(tag.Substring(startIndex + 1, tag.Length - startIndex - 2)); 71a112,132 > else > { > Tags.Add(tag.Substring(1, tag.Length - 2)); > } > } > else > { > Tags.Add(tag.Substring(startIndex+1, endIndex - startIndex - 1)); > startIndex = endIndex; > } > > } > for (int i = 0; i < Tags.Count; i++) > { > if (((Tags[i].Substring(0, 1) != "#") | (Tags[i].Substring(Tags[i].Length-1) != "#")) && (GetCountOf("#",Tags[i]) > 1)) > { > if (element.IndexOf(Tags[i].Substring(0,Tags[i].IndexOf('#'))) > -1) > { > startIndex = -1; > endIndex = -1; > string TmpData = String.Empty; 72a134,171 > // Search for all occurrences of the target. > while (true) > { > if (startIndex + 1 > element.Length) startIndex = -1; > startIndex = element.IndexOf(Tags[i].Substring(0, Tags[i].IndexOf('#')), startIndex + 1, element.Length - startIndex - 1); > // Exit the loop if the target is not found. > if (startIndex < 0) > break; > endIndex = element.IndexOf(Tags[i].Substring(Tags[i].LastIndexOf('#') + 1), startIndex + 1, element.Length - startIndex - 1) + 1; > if (endIndex < 0) > break; > TmpData = element.Substring(startIndex, endIndex - startIndex); > if ((Tags[i].IndexOf("START") > -1) | (Tags[i].IndexOf("END") > -1)) > { > if (TmpData.IndexOf(':') > -1) > { > SetElement("<" + Tags[i].Substring(Tags[i].IndexOf('#'), Tags[i].LastIndexOf('#')) + ">", TmpData.Substring(1, TmpData.Length - 2)); > element = element.Remove(startIndex, endIndex - startIndex); > } > } > else > { > SetElement("<" + Tags[i].Substring(Tags[i].IndexOf('#'), Tags[i].LastIndexOf('#') - Tags[i].IndexOf('#')) + ">", TmpData.Substring(1, TmpData.Length - 2)); > element = element.Remove(startIndex, endIndex - startIndex); > } > } > } > } > } > for (int i = 0; i < Tags.Count; i++) > { > if ((Tags[i].Substring(0, 1) == "#") && (Tags[i].Substring(Tags[i].Length-1) == "#")) > { > SetElement("<" + Tags[i].Substring(Tags[i].IndexOf('#'), Tags[i].LastIndexOf('#') - Tags[i].IndexOf('#')) + ">", element); > } > } > Tags.Clear(); > }[list][/list][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Support
Electronic Program Guide
WebEPG
Source contribution to WEBEPG
Contact us
RSS
Top
Bottom