Dexter

(Example config file)
(wikify slightly)
 
(32 intermediate revisions not shown)
Line 1: Line 1:
-
== Dexter ==
 
-
 
Dexter is a teletext/text-tv reader application, which you can quickly read web-based implementations. It is designed so that you can manually add the sites that you want to follow.  
Dexter is a teletext/text-tv reader application, which you can quickly read web-based implementations. It is designed so that you can manually add the sites that you want to follow.  
-
Dexter is currently in Extras-devel. It is highly under development and is not intended for the faint of heart! Please, test it at your own risk. That said, all testing and feedback is appreciated.
+
Dexter is currently in [[Extras-devel]]. It is highly under development and is not intended for the faint of heart! Please, test it at your own risk. That said, all testing and feedback is appreciated.
[http://talk.maemo.org/showthread.php?t=42207 For feedback and discussion about Dexter]
[http://talk.maemo.org/showthread.php?t=42207 For feedback and discussion about Dexter]
 +
== Config file ==
-
 
+
In order to enable support for various implementations of teletext sites, the site specific information can be added to a config file. The config file is located at <code>$HOME/.config/Dexter/dexter.conf</code> and it can be modified directly from xterm to add/edit/remove sites.
-
=== Config file ===
+
-
 
+
-
In order to enable support for various implementations of teletext sites, the site specific information can be added to a config file.  
+
-
 
+
-
Config file is located at $HOME/.config/Dexter/dexter.conf and it can be modified directly from xterm to add/edit/remove sites.
+
-
 
+
-
'''Important note:''' In Dexter 0.2-2, Finnish Yle needs to be in the config. If config file is not found, it is created with Yle. So, run Dexter once before editing config file manually. Then, don't delete Yle. This will change in the future releases.
+
The config file has a subsection [sites], which lists all the available text-tv sites for Dexter. Each site has a unique id number in front of every line and each line has a site specific setting parameter. After sites, there is a size parameter, which needs to be the amount of sites in this section.
The config file has a subsection [sites], which lists all the available text-tv sites for Dexter. Each site has a unique id number in front of every line and each line has a site specific setting parameter. After sites, there is a size parameter, which needs to be the amount of sites in this section.
-
==== Example config file ====
+
=== Example config file ===
-
 
+
This is an example config file with two working text-tv sites.
This is an example config file with two working text-tv sites.
Line 45: Line 36:
size=2</pre>
size=2</pre>
-
==== Site specific parameters ====
+
=== Site specific parameters ===
-
 
+
* '''imageUrl''': Where the actual image of the page is located at.
* '''imageUrl''': Where the actual image of the page is located at.
Line 58: Line 48:
* '''startPage''': This page is loaded at first when you select the site.
* '''startPage''': This page is loaded at first when you select the site.
-
==== Url variables for config parameters ====
+
=== URL variables for config parameters ===
-
There are a few variables that should be used when defining url's for the sites.
+
There are a few variables that should be used when defining URLs for the sites.
These are [page], [subpage] and [topicpage].
These are [page], [subpage] and [topicpage].
Line 67: Line 57:
* '''[page]''': The current page number
* '''[page]''': The current page number
* '''[subpage]''': The current subpage number
* '''[subpage]''': The current subpage number
 +
* '''[x:subpage]''': The current subpage with x amount of padding. For example subpage 2 when x is 4 = 0002.
* '''[topicpage]''': The topic page for the current page. For example, for a page number 165, topic page would be 100. For 401, topic page would be 400.
* '''[topicpage]''': The topic page for the current page. For example, for a page number 165, topic page would be 100. For 401, topic page would be 400.
   
   
-
Replace page numbers in the url with these variables. This is needed for Dexter to work properly.
+
Replace page numbers in the URL with these variables. This is needed for Dexter to work properly.
-
 
+
-
 
+
-
==== Prediction regular expressions ====
+
 +
=== Prediction regular expressions ===
In order for Dexter to be able to "predict" the next/previous page, regular expressions are used. Dexter will match the regular expression and find the correct prediction. For example, if you are at page 145 and next page is 168, user presses next page, it will know to go to 168 instead of trying page number 146.
In order for Dexter to be able to "predict" the next/previous page, regular expressions are used. Dexter will match the regular expression and find the correct prediction. For example, if you are at page 145 and next page is 168, user presses next page, it will know to go to 168 instead of trying page number 146.
Line 79: Line 68:
Regular expressions need to specify the string that has the information about the wanted prediction. When there are page numbers in the regular expression, make sure to use '''\\d+''' instead of the static number. When you have the number you want, replace the static number with '''(\\d+)'''. This will tell Dexter to save that as the predicted page number.
Regular expressions need to specify the string that has the information about the wanted prediction. When there are page numbers in the regular expression, make sure to use '''\\d+''' instead of the static number. When you have the number you want, replace the static number with '''(\\d+)'''. This will tell Dexter to save that as the predicted page number.
 +
'''Important note''': Remember to escape all the needed characters, for example ? needs to be \\? in order for the regular expression to work.
-
=== Working teletext/text-tv sites ===
+
== Working teletext/text-tv sites ==
Here is the list of teletext/text-tv sites found working with Dexter. When you find a new one, please add it to the list under the correct country. Also, the unique number at the beginning of every parameter should be replaced with "x", so that they don't collide. When you copy an entry, make sure to change this value to be a unique value for your config.
Here is the list of teletext/text-tv sites found working with Dexter. When you find a new one, please add it to the list under the correct country. Also, the unique number at the beginning of every parameter should be replaced with "x", so that they don't collide. When you copy an entry, make sure to change this value to be a unique value for your config.
 +
Wiki-authors: When inserting prediction/subPrediction-lines that contain &amp;lt; or &amp;gt;, these HTML-entities will be converted to < or > respectively by the Wiki. This prevents easy copypasting by the user. You have to write &amp;amp;lt; and &amp;amp;gt; instead. (&amp;amp; is the entity for &amp;, so it's displayed correctly then.)
-
==== Finland ====
+
=== Finland ===
-
 
+
==== Yle ====
-
===== Yle =====
+
<pre>
<pre>
x\siteName=Yle
x\siteName=Yle
-
x\imageUrl=http://www.yle.fi/tekstitv/images/P[page]_[subpage].gif
+
x\imageUrl=http://www.yle.fi/tekstitv/images/P[page]_[2:subpage].gif
x\predictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_01.html
x\predictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_01.html
-
x\subPredictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_[subpage].html
+
x\subPredictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_[2:subpage].html
x\previousPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Edellinen sivu\\]</A>"
x\previousPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Edellinen sivu\\]</A>"
x\nextPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Seuraava sivu\\]</A>"
x\nextPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Seuraava sivu\\]</A>"
x\previousSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P\\d+_(\\d+).html\">\\[Edellinen alasivu\\]</A>"
x\previousSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P\\d+_(\\d+).html\">\\[Edellinen alasivu\\]</A>"
x\nextSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P\\d+_(\\d+).html\">\\[Seuraava alasivu\\]</A>"
x\nextSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P\\d+_(\\d+).html\">\\[Seuraava alasivu\\]</A>"
-
x\pad=2
+
x\startPage=100
</pre>
</pre>
-
===== Mtv3 =====
+
==== Mtv3 ====
<pre>
<pre>
x\siteName=Mtv3
x\siteName=Mtv3
-
x\imageUrl=http://www.mtv3tekstikanava.fi/new2008/images/[page]-[subpage].gif
+
x\imageUrl=http://www.mtv3tekstikanava.fi/new2008/images/[page]-[2:subpage].gif
x\predictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-01.htm
x\predictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-01.htm
-
x\subPredictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-[subpage].htm
+
x\subPredictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-[2:subpage].htm
-
x\previousPrediction="<a href=\"(\\d+)-01.htm\">&lt;&lt; Edellinen sivu</a>"
+
x\previousPrediction="<a href=\"(\\d+)-01.htm\">&amp;lt;&amp;lt; Edellinen sivu</a>"
-
x\nextPrediction="<a href=\"(\\d+)-01.htm\">Seuraava sivu &gt;&gt;</a>"
+
x\nextPrediction="<a href=\"(\\d+)-01.htm\">Seuraava sivu &amp;gt;&amp;gt;</a>"
-
x\previousSubPrediction="<a href=\"\\d+-(\\d+).htm\">&lt;&lt; alasivu</a>"
+
x\previousSubPrediction="<a href=\"\\d+-(\\d+).htm\">&amp;lt;&amp;lt; alasivu</a>"
-
x\nextSubPrediction="<a href=\"\\d+-(\\d+).htm\">alasivu &gt;&gt;</a>"
+
x\nextSubPrediction="<a href=\"\\d+-(\\d+).htm\">alasivu &amp;gt;&amp;gt;</a>"
-
x\pad=2
+
x\startPage=100
</pre>
</pre>
-
===== Nelonen =====
+
==== Nelonen ====
-
(Only subpages 1 to 9 can be used. Dexter doesn't seem to handle different padding for imageUrl and predictionUrl at the moment. ImageUrl is ex. 100_0001 and subPredictionUrl has ?page=100&subpage=3)
+
<pre>
<pre>
x\siteName=Nelonen
x\siteName=Nelonen
-
x\imageUrl=http://www.nelonen.fi/teksti4/pages/[page]_000[subpage].gif
+
x\imageUrl=http://www.nelonen.fi/teksti4/pages/[page]_[4:subpage].gif
x\predictionUrl=http://www.nelonen.fi/teksti4/?page=[page]
x\predictionUrl=http://www.nelonen.fi/teksti4/?page=[page]
x\subPredictionUrl=http://www.nelonen.fi/teksti4/?page=[page]&subpage=[subpage]
x\subPredictionUrl=http://www.nelonen.fi/teksti4/?page=[page]&subpage=[subpage]
Line 128: Line 117:
x\previousSubPrediction="<a href=\".page=\\d+&subpage=(\\d+)\"><img src=\"images/alalaita_edellinen_ala.gif\".+></a>"
x\previousSubPrediction="<a href=\".page=\\d+&subpage=(\\d+)\"><img src=\"images/alalaita_edellinen_ala.gif\".+></a>"
x\nextSubPrediction="<a href=\".page=\\d+&subpage=(\\d+)\"><img src=\"images/alalaita_seuraava_ala.gif\".+></a>"
x\nextSubPrediction="<a href=\".page=\\d+&subpage=(\\d+)\"><img src=\"images/alalaita_seuraava_ala.gif\".+></a>"
-
x\pad=1
+
x\startPage=101
</pre>
</pre>
-
==== Netherlands ====
+
=== Sweden ===
 +
==== TV4 ====
-
===== NOS =====
+
Note: Subpages not working
 +
 
 +
<pre>
 +
x\siteName=TV4
 +
x\imageUrl=http://www.nyhetskanalen.se/texttv-files/images/1/P[page]S[2:subpage].gif
 +
x\predictionUrl=http://www.nyhetskanalen.se/1.633665?page=[page]
 +
x\subPredictionUrl=http://www.nyhetskanalen.se/1.633665?page=[page]
 +
x\previousPrediction="href=\"\\?page=(\\d+)\" class=\"previous"
 +
x\nextPrediction="href=\"\\?page=(\\d+)\" class=\"next"
 +
x\previousSubPrediction=""
 +
x\nextSubPrediction=""
 +
x\startPage=100
 +
</pre>
 +
 
 +
=== Netherlands ===
 +
 
 +
==== NOS ====
<pre>
<pre>
x\siteName=NOS
x\siteName=NOS
-
x\imageUrl=http://teletekst.nos.nl/gif/images/[page]-[subpage].gif
+
x\imageUrl=http://teletekst.nos.nl/gif/images/[page]-[2:subpage].gif
-
x\predictionUrl=http://teletekst.nos.nl/gif/[page]-[subpage].html
+
x\predictionUrl=http://teletekst.nos.nl/gif/[page]-[2:subpage].html
-
x\subPredictionUrl=http://teletekst.nos.nl/gif/[page]-[subpage].html
+
x\subPredictionUrl=http://teletekst.nos.nl/gif/[page]-[2:subpage].html
x\previousPrediction="<a href=\"(\\d+)-\\d+.html\"><img src=\"/gfx/i-buttons/back.gif\""
x\previousPrediction="<a href=\"(\\d+)-\\d+.html\"><img src=\"/gfx/i-buttons/back.gif\""
x\nextPrediction="<a href=\"(\\d+)-\\d+.html\"><img src=\"/gfx/i-buttons/forward.gif\""
x\nextPrediction="<a href=\"(\\d+)-\\d+.html\"><img src=\"/gfx/i-buttons/forward.gif\""
x\previousSubPrediction="<a href=\"\\d+-(\\d+).html\"><img src=\"/gfx/i-buttons/sub_back.gif\""
x\previousSubPrediction="<a href=\"\\d+-(\\d+).html\"><img src=\"/gfx/i-buttons/sub_back.gif\""
x\nextSubPrediction="<a href=\"\\d+-(\\d+).html\"><img src=\"/gfx/i-buttons/sub_forward.gif\""
x\nextSubPrediction="<a href=\"\\d+-(\\d+).html\"><img src=\"/gfx/i-buttons/sub_forward.gif\""
-
x\pad=2
+
x\startPage=100
</pre>
</pre>
 +
=== Austria ===
 +
==== ORF ====
 +
 +
<pre>
 +
x\siteName=ORF
 +
x\imageUrl=http://teletext.orf.at/[topicpage]/[page]_[4:subpage].png
 +
x\predictionUrl=http://teletext.orf.at/[topicpage]/[page]_[4:subpage].htm
 +
x\subPredictionUrl=http://teletext.orf.at/[topicpage]/[page]_[4:subpage].htm
 +
x\previousPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"1\">"
 +
x\nextPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"2\">"
 +
x\previousSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"3\">"
 +
x\nextSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"4\">"
 +
x\startPage=100
 +
</pre>
 +
 +
==== sat.1 Austria ====
 +
 +
<pre>
 +
x\siteName=sat.1 Austria
 +
x\imageUrl=http://www.sat1.at/service/teletext/cache_at/[page]_[2:subpage].png
 +
x\predictionUrl=http://www.sat1.at/service/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\subPredictionUrl=http://www.sat1.at/service/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\previousPrediction="pagnr=(\\d+)_\\d+&amp;trynext=-1\" class=\"teletext_numberBtn\">-</a>"
 +
x\nextPrediction="pagnr=(\\d+)_\\d+&amp;trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
 +
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;lt;</a>"
 +
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;gt;</a>"
 +
x\startPage=100
 +
</pre>
 +
 +
==== TW1 ====
 +
 +
<pre>
 +
x\siteName=TW 1
 +
x\imageUrl=http://www.tw1mhp.at/teletext/Pages/Export/HTML/TW1/[topicpage]/[page]_[4:subpage].png
 +
x\predictionUrl=http://www.tw1mhp.at/teletext/Pages/Export/HTML/TW1/[topicpage]/[page]_[4:subpage].htm
 +
x\subPredictionUrl=http://www.tw1mhp.at/teletext/Pages/Export/HTML/TW1/[topicpage]/[page]_[4:subpage].htm
 +
x\previousPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"1\">"
 +
x\nextPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"2\">"
 +
x\previousSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"3\">"
 +
x\nextSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"4\">"
 +
x\startPage=100
 +
</pre>
 +
 +
=== Italy ===
 +
 +
==== RAI ====
 +
 +
<pre>
 +
x\siteName=RAI
 +
x\imageUrl=http://www.televideo.rai.it/televideo/pub/tt4web/Nazionale/page-[page].png
 +
x\subImageUrl=http://www.televideo.rai.it/televideo/pub/tt4web/Nazionale/page-[page].[subpage].png
 +
x\predictionUrl=http://www.televideo.rai.it/televideo/pub/solotesto.jsp?&pagina=[page]&sottopagina=1
 +
x\subPredictionUrl=http://www.televideo.rai.it/televideo/pub/solotesto.jsp?&pagina=[page]&sottopagina=[subpage]
 +
x\previousPrediction="<a alt=\"Pagina Precedente\" href=\"solotesto.jsp\\?pagina=(\\d+)&sottopagina=1\">"
 +
x\nextPrediction="<a alt=\"Pagina Successiva\" href=\"solotesto.jsp\\?pagina=(\\d+)&sottopagina=1\">"
 +
x\previousSubPrediction="<a alt=\"Sottopagina precedente\" href=\"solotesto.jsp\\?pagina=\\d+&sottopagina=(\\d+)\">"
 +
x\nextSubPrediction="<a alt=\"Sottopagina successiva\" href=\"solotesto.jsp\\?pagina=\\d+&sottopagina=(\\d+)\">"
 +
x\startPage=100
 +
x\pad=1
 +
</pre>
 +
 +
=== Switzerland ===
 +
 +
==== sat.1 Switzerland ====
 +
 +
<pre>
 +
x\siteName=sat.1 Schweiz
 +
x\imageUrl=http://www.sat1.ch/service/teletext/cache_ch/[page]_[2:subpage].png
 +
x\predictionUrl=http://www.sat1.ch/service/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\subPredictionUrl=http://www.sat1.ch/service/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\previousPrediction="pagnr=(\\d+)_\\d+&amp;trynext=-1\" class=\"teletext_numberBtn\">-</a>"
 +
x\nextPrediction="pagnr=(\\d+)_\\d+&amp;trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
 +
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;lt;</a>"
 +
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;gt;</a>"
 +
x\startPage=100
 +
</pre>
 +
 +
==== SF 1 ====
 +
 +
Note: for pages with multiple subpages (including #100), subpage 1 is not loaded correctly.
 +
<pre>
 +
x\siteName=SF 1
 +
x\imageUrl=http://www.teletext.ch/pics/SF1/[page]-00.gif
 +
x\subImageUrl=http://www.teletext.ch/pics/SF1/[page]-[2:subpage].gif 
 +
x\predictionUrl=http://www.teletext.ch/SF1/[page]-00.html
 +
x\subPredictionUrl=http://www.teletext.ch/SF1/[page]-[2:subpage].html
 +
x\previousPrediction="href=\"/SF1/(\\d+)-\\d+.html\"><img src=\"/design/navigation/minus.gif\""
 +
x\nextPrediction="href=\"/SF1/(\\d+)-\\d+.html\"><img src=\"/design/navigation/plus.gif\""
 +
x\previousSubPrediction="<a href=\"/SF1/\\d+-(\\d+).html\" class=\"white_link\">&lt;\\d+</a>"
 +
x\nextSubPrediction="<a href=\"/SF1/\\d+-(\\d+).html\" class=\"white_link\">\\d+&gt;</a>"
 +
x\startPage=100
 +
</pre>
 +
 +
=== Germany ===
 +
 +
==== BR Bayerntext ====
 +
 +
<pre>x\siteName=Bayerntext (BR)
 +
x\imageUrl=http://www.br-online.de/content/import/bayerntext/pngData/[topicpage]/[page]_[4:subpage].png
 +
x\predictionUrl=http://www.br-online.de/content/import/bayerntext/pngData/[topicpage]/[page]_[4:subpage].htm
 +
x\subPredictionUrl=http://www.br-online.de/content/import/bayerntext/pngData/[topicpage]/[page]_[4:subpage].htm
 +
x\previousPrediction="<a href=\"(\\d+)_\\d+.htm\">\\d+&amp;lt;&amp;lt;</a>"
 +
x\nextPrediction=";<a href=\"(\\d+)_\\d+.htm\">&amp;gt;&amp;gt;\\d+</a>"
 +
x\previousSubPrediction="<a href=\"\\d+_(\\d+).htm\">&amp;lt;&amp;lt;</a>"
 +
x\nextSubPrediction="<a href=\"\\d+_(\\d+).htm\">&amp;gt;&amp;gt;</a>"
 +
x\startPage=100</pre>
 +
 +
==== kabel eins ====
 +
 +
<pre>x\siteName=kabel eins
 +
x\imageUrl=http://www.kabel1.de/teletext/cache_de/[page]_[2:subpage].png
 +
x\predictionUrl=http://www.kabel1.de/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\subPredictionUrl=http://www.kabel1.de/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\previousPrediction="pagnr=(\\d+)_\\d+&amp;trynext=-1\" class=\"teletext_numberBtn\">-</a>"
 +
x\nextPrediction="pagnr=(\\d+)_\\d+&amp;trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
 +
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;lt;</a>"
 +
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;gt;</a>"
 +
x\startPage=100</pre>
 +
 +
==== sat.1 ====
 +
 +
<pre>x\siteName=sat.1 Deutschland
 +
x\imageUrl=http://www.sat1.de/service/teletext/cache_de/[page]_[2:subpage].png
 +
x\predictionUrl=http://www.sat1.de/service/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\subPredictionUrl=http://www.sat1.de/service/teletext/index.php?pagnr=[page]_[2:subpage]
 +
x\previousPrediction="pagnr=(\\d+)_\\d+&amp;trynext=-1\" class=\"teletext_numberBtn\">-</a>"
 +
x\nextPrediction="pagnr=(\\d+)_\\d+&amp;trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
 +
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;lt;</a>"
 +
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&amp;gt;</a>"
 +
x\startPage=100</pre>
 +
 +
==== 3sat ====
 +
 +
3sat broadcasts in Austria and Switzerland as well
 +
 +
<pre>
 +
x\siteName=3sat
 +
x\imageUrl=http://www.3sat.de/vtx3sat_clone/[topicpage]/[page]_[4:subpage].png
 +
x\predictionUrl=http://www.3sat.de/vtx3sat.php?url=[page]_[4:subpage].htm
 +
x\subPredictionUrl=http://www.3sat.de/vtx3sat.php?url=[page]_[4:subpage].htm
 +
x\previousPrediction="url=(\\d+)_\\d+.htm\">zur&amp;uuml;ck</a>"
 +
x\nextPrediction="url=(\\d+)_\\d+.htm\">vor</a>"
 +
x\previousSubPrediction="url=\\d+_(\\d+).htm\">&lt;&lt;</a>"
 +
x\nextSubPrediction="url=\\d+_(\\d+).htm\">&amp;gt;&amp;gt;</a>"
 +
x\startPage=100
 +
</pre>
 +
 +
==== WDR ====
 +
 +
Prediction of previous and next page doesn't work reliably: WDR links to pages that don't exist. No workaround possible. Enter page number manually when you're stuck.
 +
<pre>
 +
x\siteName=WDR
 +
x\imageUrl=http://www.wdr.de/themen/_phpinclude_/global/videotext/gif/[page]_[4:subpage].png
 +
x\predictionUrl=http://www.wdr.de/themen/global/videotext/index.jhtml?seite=[page]_[4:subpage]
 +
x\subPredictionUrl=http://www.wdr.de/themen/global/videotext/index.jhtml?seite=[page]_[4:subpage]
 +
x\previousPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=(\\d+)_\\d+\">zur&amp;uuml;ck</a>"
 +
x\nextPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=(\\d+)_\\d+\">vor</a>"
 +
x\previousSubPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=\\d+_(\\d+)\">&amp;lt;&amp;lt;</a>"
 +
x\nextSubPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=\\d+_(\\d+)\">&amp;gt;&amp;gt;</a>"
 +
x\startPage=100
 +
</pre>
 +
 +
==== einsfestival ====
 +
 +
<pre>
 +
x\siteName=einsfestival
 +
x\imageUrl=http://www.einsfestival.de/intern/videotext_png/[page]_[4:subpage].png
 +
x\predictionUrl=http://www.einsfestival.de/videotext.jsp?seite=[page]_[4:subpage]
 +
x\subPredictionUrl=http://www.einsfestival.de/videotext.jsp?seite=[page]_[4:subpage]
 +
x\previousPrediction="<a href=\"\\?seite=(\\d+)_\\d+\">zur&amp;uuml;ck</a>"
 +
x\nextPrediction="<a href=\"\\?seite=(\\d+)_\\d+\">vor</a>"
 +
x\previousSubPrediction="<a href=\"\\?seite=\\d+_(\\d+)\">&amp;lt;&amp;lt;</a>"
 +
x\nextSubPrediction="<a href=\"\\?seite=\\d+_(\\d+)\">&amp;gt;&amp;gt;</a>"
 +
x\startPage=100
 +
</pre>
 +
 +
=== Ireland ===
 +
 +
==== RTÉ Aertel ====
 +
 +
<pre>
 +
x\siteName=RTÉ Aertel
 +
x\imageUrl=http://www.rte.ie/aertel/images/[page]-[2:subpage].gif
 +
x\predictionUrl=http://www.rte.ie/aertel/[page]-[2:subpage].html
 +
x\subPredictionUrl=http://www.rte.ie/aertel/[page]-[2:subpage].html
 +
x\previousPrediction="<a href=\"(\\d+)-\\d+.html\">Previous Page</a>"
 +
x\nextPrediction="<a href=\"(\\d+)-\\d+.html\">Next Page</a>"
 +
x\previousSubPrediction="<a href=\"\\d+-(\\d+).html\">Previous SubPage</a>"
 +
x\nextSubPrediction="<a href=\"\\d+-(\\d+).html\">Next SubPage</a>"
 +
x\startPage=100
 +
</pre>
 +
 +
=== United Kingdom ===
 +
 +
==== BBC Ceefax1 ====
 +
 +
Note: for pages with multiple subpages, subpage 1 is not loaded correctly.
 +
<pre>
 +
x\siteName=BBC Ceefax1
 +
x\imageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_0&font=big&channel=bbc1
 +
x\subImageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_[subpage]&font=big&channel=bbc1
 +
x\predictionUrl=http://www.ceefax.tv/imode/bbc1_imode21.php?page=[page]
 +
x\subPredictionUrl=http://www.ceefax.tv/imode/bbc1_imode21.php?page=[page]&subpage=[subpage]
 +
x\previousPrediction="<a accesskey=\"x\" href=\"bbc1_imode21.php\\?page=(\\d+)#page\">"
 +
x\nextPrediction="<a accesskey=\"6\" href=\"bbc1_imode21.php\\?page=(\\d+)#page\">"
 +
x\previousSubPrediction="<a accesskey=\"1\" href=\"bbc1_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
 +
x\nextSubPrediction="<a accesskey=\"3\" href=\"bbc1_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
 +
x\startPage=100
 +
x\pad=1
 +
</pre>
 +
 +
==== BBC Ceefax2 ====
 +
 +
Note: for pages with multiple subpages, subpage 1 is not loaded correctly.
 +
<pre>
 +
x\siteName=BBC Ceefax2
 +
x\imageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_0&font=big&channel=bbc2
 +
x\subImageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_[subpage]&font=big&channel=bbc2
 +
x\predictionUrl=http://www.ceefax.tv/imode/bbc2_imode21.php?page=[page]
 +
x\subPredictionUrl=http://www.ceefax.tv/imode/bbc2_imode21.php?page=[page]&subpage=[subpage]
 +
x\previousPrediction="<a accesskey=\"x\" href=\"bbc2_imode21.php\\?page=(\\d+)#page\">"
 +
x\nextPrediction="<a accesskey=\"6\" href=\"bbc2_imode21.php\\?page=(\\d+)#page\">"
 +
x\previousSubPrediction="<a accesskey=\"1\" href=\"bbc2_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
 +
x\nextSubPrediction="<a accesskey=\"3\" href=\"bbc2_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
 +
x\startPage=100
 +
x\pad=1
 +
</pre>
[[Category:Software]]
[[Category:Software]]

Latest revision as of 14:16, 8 December 2010

Dexter is a teletext/text-tv reader application, which you can quickly read web-based implementations. It is designed so that you can manually add the sites that you want to follow.

Dexter is currently in Extras-devel. It is highly under development and is not intended for the faint of heart! Please, test it at your own risk. That said, all testing and feedback is appreciated.

For feedback and discussion about Dexter

Contents

[edit] Config file

In order to enable support for various implementations of teletext sites, the site specific information can be added to a config file. The config file is located at $HOME/.config/Dexter/dexter.conf and it can be modified directly from xterm to add/edit/remove sites.

The config file has a subsection [sites], which lists all the available text-tv sites for Dexter. Each site has a unique id number in front of every line and each line has a site specific setting parameter. After sites, there is a size parameter, which needs to be the amount of sites in this section.

[edit] Example config file

This is an example config file with two working text-tv sites.

[sites]
1\siteName=Mtv3
1\imageUrl=http://www.mtv3tekstikanava.fi/new2008/images/[page]-[2:subpage].gif
1\predictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-01.htm
1\subPredictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-[2:subpage].htm
1\previousPrediction="<a href=\"(\\d+)-01.htm\"><< Edellinen sivu</a>"
1\nextPrediction="<a href=\"(\\d+)-01.htm\">Seuraava sivu >></a>"
1\previousSubPrediction="<a href=\"\\d+-(\\d+).htm\"><< alasivu</a>"
1\nextSubPrediction="<a href=\"\\d+-(\\d+).htm\">alasivu >></a>"
1\startPage=100
2\siteName=Yle
2\imageUrl=http://www.yle.fi/tekstitv/images/P[page]_[2:subpage].gif
2\predictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_01.html
2\subPredictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_[2:subpage].html
2\previousPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Edellinen sivu\\]</A>"
2\nextPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Seuraava sivu\\]</A>"
2\previousSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_(\\d+).html\">\\[Edellinen alasivu\\]</A>"
2\nextSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_(\\d+).html\">\\[Seuraava alasivu\\]</A>"
2\startPage=100
size=2

[edit] Site specific parameters

  • imageUrl: Where the actual image of the page is located at.
  • subImageUrl: (Optional) If the site has different url scheme for main pages and subpages, this can be used. Defaults to imageUrl if not set.
  • predictionUrl: A html page where the previous/next page number can be found and parsed
  • subPredictionUrl: Similar, but for parsing subpage prediction
  • previousPrediction: Regular expression to find the previous page number. Find this from the source code and replace page number with (\\d+).
  • nextPrediction: Similar, but for next page.
  • previousSubPrediction: Similar, but for previous subpage.
  • nextSubPrediction: Similar, but for next subpage.
  • startPage: This page is loaded at first when you select the site.

[edit] URL variables for config parameters

There are a few variables that should be used when defining URLs for the sites. These are [page], [subpage] and [topicpage].

Dexter will replace these variables with the correct value on the fly.

  • [page]: The current page number
  • [subpage]: The current subpage number
  • [x:subpage]: The current subpage with x amount of padding. For example subpage 2 when x is 4 = 0002.
  • [topicpage]: The topic page for the current page. For example, for a page number 165, topic page would be 100. For 401, topic page would be 400.

Replace page numbers in the URL with these variables. This is needed for Dexter to work properly.

[edit] Prediction regular expressions

In order for Dexter to be able to "predict" the next/previous page, regular expressions are used. Dexter will match the regular expression and find the correct prediction. For example, if you are at page 145 and next page is 168, user presses next page, it will know to go to 168 instead of trying page number 146.

Regular expressions need to specify the string that has the information about the wanted prediction. When there are page numbers in the regular expression, make sure to use \\d+ instead of the static number. When you have the number you want, replace the static number with (\\d+). This will tell Dexter to save that as the predicted page number.

Important note: Remember to escape all the needed characters, for example ? needs to be \\? in order for the regular expression to work.

[edit] Working teletext/text-tv sites

Here is the list of teletext/text-tv sites found working with Dexter. When you find a new one, please add it to the list under the correct country. Also, the unique number at the beginning of every parameter should be replaced with "x", so that they don't collide. When you copy an entry, make sure to change this value to be a unique value for your config.

Wiki-authors: When inserting prediction/subPrediction-lines that contain &lt; or &gt;, these HTML-entities will be converted to < or > respectively by the Wiki. This prevents easy copypasting by the user. You have to write &amp;lt; and &amp;gt; instead. (&amp; is the entity for &, so it's displayed correctly then.)

[edit] Finland

[edit] Yle

x\siteName=Yle
x\imageUrl=http://www.yle.fi/tekstitv/images/P[page]_[2:subpage].gif
x\predictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_01.html
x\subPredictionUrl=http://www.yle.fi/tekstitv/txt/P[page]_[2:subpage].html
x\previousPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Edellinen sivu\\]</A>"
x\nextPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P(\\d+)_01.html\">\\[Seuraava sivu\\]</A>"
x\previousSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P\\d+_(\\d+).html\">\\[Edellinen alasivu\\]</A>"
x\nextSubPrediction="<A HREF=\"http://www.yle.fi/tekstitv/txt/P\\d+_(\\d+).html\">\\[Seuraava alasivu\\]</A>"
x\startPage=100

[edit] Mtv3

x\siteName=Mtv3
x\imageUrl=http://www.mtv3tekstikanava.fi/new2008/images/[page]-[2:subpage].gif
x\predictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-01.htm
x\subPredictionUrl=http://www.mtv3tekstikanava.fi/new2008/[page]-[2:subpage].htm
x\previousPrediction="<a href=\"(\\d+)-01.htm\">&lt;&lt; Edellinen sivu</a>"
x\nextPrediction="<a href=\"(\\d+)-01.htm\">Seuraava sivu &gt;&gt;</a>"
x\previousSubPrediction="<a href=\"\\d+-(\\d+).htm\">&lt;&lt; alasivu</a>"
x\nextSubPrediction="<a href=\"\\d+-(\\d+).htm\">alasivu &gt;&gt;</a>"
x\startPage=100

[edit] Nelonen

x\siteName=Nelonen
x\imageUrl=http://www.nelonen.fi/teksti4/pages/[page]_[4:subpage].gif
x\predictionUrl=http://www.nelonen.fi/teksti4/?page=[page]
x\subPredictionUrl=http://www.nelonen.fi/teksti4/?page=[page]&subpage=[subpage]
x\previousPrediction="<a href=\".page=(\\d+)\"><img src=\"images/alalaita_edellinen.gif\".+></a>"
x\nextPrediction="<a href=\".page=(\\d+)\"><img src=\"images/alalaita_seuraava.gif\".+></a>"
x\previousSubPrediction="<a href=\".page=\\d+&subpage=(\\d+)\"><img src=\"images/alalaita_edellinen_ala.gif\".+></a>"
x\nextSubPrediction="<a href=\".page=\\d+&subpage=(\\d+)\"><img src=\"images/alalaita_seuraava_ala.gif\".+></a>"
x\startPage=101

[edit] Sweden

[edit] TV4

Note: Subpages not working

x\siteName=TV4
x\imageUrl=http://www.nyhetskanalen.se/texttv-files/images/1/P[page]S[2:subpage].gif
x\predictionUrl=http://www.nyhetskanalen.se/1.633665?page=[page]
x\subPredictionUrl=http://www.nyhetskanalen.se/1.633665?page=[page]
x\previousPrediction="href=\"\\?page=(\\d+)\" class=\"previous"
x\nextPrediction="href=\"\\?page=(\\d+)\" class=\"next"
x\previousSubPrediction=""
x\nextSubPrediction=""
x\startPage=100

[edit] Netherlands

[edit] NOS

x\siteName=NOS
x\imageUrl=http://teletekst.nos.nl/gif/images/[page]-[2:subpage].gif
x\predictionUrl=http://teletekst.nos.nl/gif/[page]-[2:subpage].html
x\subPredictionUrl=http://teletekst.nos.nl/gif/[page]-[2:subpage].html
x\previousPrediction="<a href=\"(\\d+)-\\d+.html\"><img src=\"/gfx/i-buttons/back.gif\""
x\nextPrediction="<a href=\"(\\d+)-\\d+.html\"><img src=\"/gfx/i-buttons/forward.gif\""
x\previousSubPrediction="<a href=\"\\d+-(\\d+).html\"><img src=\"/gfx/i-buttons/sub_back.gif\""
x\nextSubPrediction="<a href=\"\\d+-(\\d+).html\"><img src=\"/gfx/i-buttons/sub_forward.gif\""
x\startPage=100

[edit] Austria

[edit] ORF

x\siteName=ORF
x\imageUrl=http://teletext.orf.at/[topicpage]/[page]_[4:subpage].png
x\predictionUrl=http://teletext.orf.at/[topicpage]/[page]_[4:subpage].htm
x\subPredictionUrl=http://teletext.orf.at/[topicpage]/[page]_[4:subpage].htm
x\previousPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"1\">"
x\nextPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"2\">"
x\previousSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"3\">"
x\nextSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"4\">"
x\startPage=100

[edit] sat.1 Austria

x\siteName=sat.1 Austria
x\imageUrl=http://www.sat1.at/service/teletext/cache_at/[page]_[2:subpage].png
x\predictionUrl=http://www.sat1.at/service/teletext/index.php?pagnr=[page]_[2:subpage]
x\subPredictionUrl=http://www.sat1.at/service/teletext/index.php?pagnr=[page]_[2:subpage]
x\previousPrediction="pagnr=(\\d+)_\\d+&trynext=-1\" class=\"teletext_numberBtn\">-</a>"
x\nextPrediction="pagnr=(\\d+)_\\d+&trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&lt;</a>"
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&gt;</a>"
x\startPage=100

[edit] TW1

x\siteName=TW 1
x\imageUrl=http://www.tw1mhp.at/teletext/Pages/Export/HTML/TW1/[topicpage]/[page]_[4:subpage].png
x\predictionUrl=http://www.tw1mhp.at/teletext/Pages/Export/HTML/TW1/[topicpage]/[page]_[4:subpage].htm
x\subPredictionUrl=http://www.tw1mhp.at/teletext/Pages/Export/HTML/TW1/[topicpage]/[page]_[4:subpage].htm
x\previousPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"1\">"
x\nextPrediction="<a href=\"(\\d+)_\\d+.htm\" accesskey=\"2\">"
x\previousSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"3\">"
x\nextSubPrediction="<a href=\"\\d+_(\\d+).htm\"  accesskey=\"4\">"
x\startPage=100

[edit] Italy

[edit] RAI

x\siteName=RAI
x\imageUrl=http://www.televideo.rai.it/televideo/pub/tt4web/Nazionale/page-[page].png
x\subImageUrl=http://www.televideo.rai.it/televideo/pub/tt4web/Nazionale/page-[page].[subpage].png
x\predictionUrl=http://www.televideo.rai.it/televideo/pub/solotesto.jsp?&pagina=[page]&sottopagina=1
x\subPredictionUrl=http://www.televideo.rai.it/televideo/pub/solotesto.jsp?&pagina=[page]&sottopagina=[subpage]
x\previousPrediction="<a alt=\"Pagina Precedente\" href=\"solotesto.jsp\\?pagina=(\\d+)&sottopagina=1\">"
x\nextPrediction="<a alt=\"Pagina Successiva\" href=\"solotesto.jsp\\?pagina=(\\d+)&sottopagina=1\">"
x\previousSubPrediction="<a alt=\"Sottopagina precedente\" href=\"solotesto.jsp\\?pagina=\\d+&sottopagina=(\\d+)\">"
x\nextSubPrediction="<a alt=\"Sottopagina successiva\" href=\"solotesto.jsp\\?pagina=\\d+&sottopagina=(\\d+)\">"
x\startPage=100
x\pad=1

[edit] Switzerland

[edit] sat.1 Switzerland

x\siteName=sat.1 Schweiz
x\imageUrl=http://www.sat1.ch/service/teletext/cache_ch/[page]_[2:subpage].png
x\predictionUrl=http://www.sat1.ch/service/teletext/index.php?pagnr=[page]_[2:subpage]
x\subPredictionUrl=http://www.sat1.ch/service/teletext/index.php?pagnr=[page]_[2:subpage]
x\previousPrediction="pagnr=(\\d+)_\\d+&trynext=-1\" class=\"teletext_numberBtn\">-</a>"
x\nextPrediction="pagnr=(\\d+)_\\d+&trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&lt;</a>"
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&gt;</a>"
x\startPage=100

[edit] SF 1

Note: for pages with multiple subpages (including #100), subpage 1 is not loaded correctly.

x\siteName=SF 1
x\imageUrl=http://www.teletext.ch/pics/SF1/[page]-00.gif
x\subImageUrl=http://www.teletext.ch/pics/SF1/[page]-[2:subpage].gif  
x\predictionUrl=http://www.teletext.ch/SF1/[page]-00.html
x\subPredictionUrl=http://www.teletext.ch/SF1/[page]-[2:subpage].html
x\previousPrediction="href=\"/SF1/(\\d+)-\\d+.html\"><img src=\"/design/navigation/minus.gif\""
x\nextPrediction="href=\"/SF1/(\\d+)-\\d+.html\"><img src=\"/design/navigation/plus.gif\""
x\previousSubPrediction="<a href=\"/SF1/\\d+-(\\d+).html\" class=\"white_link\"><\\d+</a>"
x\nextSubPrediction="<a href=\"/SF1/\\d+-(\\d+).html\" class=\"white_link\">\\d+></a>"
x\startPage=100

[edit] Germany

[edit] BR Bayerntext

x\siteName=Bayerntext (BR)
x\imageUrl=http://www.br-online.de/content/import/bayerntext/pngData/[topicpage]/[page]_[4:subpage].png
x\predictionUrl=http://www.br-online.de/content/import/bayerntext/pngData/[topicpage]/[page]_[4:subpage].htm
x\subPredictionUrl=http://www.br-online.de/content/import/bayerntext/pngData/[topicpage]/[page]_[4:subpage].htm
x\previousPrediction="<a href=\"(\\d+)_\\d+.htm\">\\d+&lt;&lt;</a>"
x\nextPrediction=";<a href=\"(\\d+)_\\d+.htm\">&gt;&gt;\\d+</a>"
x\previousSubPrediction="<a href=\"\\d+_(\\d+).htm\">&lt;&lt;</a>"
x\nextSubPrediction="<a href=\"\\d+_(\\d+).htm\">&gt;&gt;</a>"
x\startPage=100

[edit] kabel eins

x\siteName=kabel eins
x\imageUrl=http://www.kabel1.de/teletext/cache_de/[page]_[2:subpage].png
x\predictionUrl=http://www.kabel1.de/teletext/index.php?pagnr=[page]_[2:subpage]
x\subPredictionUrl=http://www.kabel1.de/teletext/index.php?pagnr=[page]_[2:subpage]
x\previousPrediction="pagnr=(\\d+)_\\d+&trynext=-1\" class=\"teletext_numberBtn\">-</a>"
x\nextPrediction="pagnr=(\\d+)_\\d+&trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&lt;</a>"
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&gt;</a>"
x\startPage=100

[edit] sat.1

x\siteName=sat.1 Deutschland
x\imageUrl=http://www.sat1.de/service/teletext/cache_de/[page]_[2:subpage].png
x\predictionUrl=http://www.sat1.de/service/teletext/index.php?pagnr=[page]_[2:subpage]
x\subPredictionUrl=http://www.sat1.de/service/teletext/index.php?pagnr=[page]_[2:subpage]
x\previousPrediction="pagnr=(\\d+)_\\d+&trynext=-1\" class=\"teletext_numberBtn\">-</a>"
x\nextPrediction="pagnr=(\\d+)_\\d+&trynext=1\" class=\"teletext_numberBtn\">\\+</a>"
x\previousSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&lt;</a>"
x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">&gt;</a>"
x\startPage=100

[edit] 3sat

3sat broadcasts in Austria and Switzerland as well

x\siteName=3sat
x\imageUrl=http://www.3sat.de/vtx3sat_clone/[topicpage]/[page]_[4:subpage].png
x\predictionUrl=http://www.3sat.de/vtx3sat.php?url=[page]_[4:subpage].htm
x\subPredictionUrl=http://www.3sat.de/vtx3sat.php?url=[page]_[4:subpage].htm
x\previousPrediction="url=(\\d+)_\\d+.htm\">zur&uuml;ck</a>"
x\nextPrediction="url=(\\d+)_\\d+.htm\">vor</a>"
x\previousSubPrediction="url=\\d+_(\\d+).htm\"><<</a>"
x\nextSubPrediction="url=\\d+_(\\d+).htm\">&gt;&gt;</a>"
x\startPage=100

[edit] WDR

Prediction of previous and next page doesn't work reliably: WDR links to pages that don't exist. No workaround possible. Enter page number manually when you're stuck.

x\siteName=WDR
x\imageUrl=http://www.wdr.de/themen/_phpinclude_/global/videotext/gif/[page]_[4:subpage].png
x\predictionUrl=http://www.wdr.de/themen/global/videotext/index.jhtml?seite=[page]_[4:subpage]
x\subPredictionUrl=http://www.wdr.de/themen/global/videotext/index.jhtml?seite=[page]_[4:subpage]
x\previousPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=(\\d+)_\\d+\">zur&uuml;ck</a>"
x\nextPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=(\\d+)_\\d+\">vor</a>"
x\previousSubPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=\\d+_(\\d+)\">&lt;&lt;</a>"
x\nextSubPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=\\d+_(\\d+)\">&gt;&gt;</a>"
x\startPage=100

[edit] einsfestival

x\siteName=einsfestival
x\imageUrl=http://www.einsfestival.de/intern/videotext_png/[page]_[4:subpage].png
x\predictionUrl=http://www.einsfestival.de/videotext.jsp?seite=[page]_[4:subpage]
x\subPredictionUrl=http://www.einsfestival.de/videotext.jsp?seite=[page]_[4:subpage]
x\previousPrediction="<a href=\"\\?seite=(\\d+)_\\d+\">zur&uuml;ck</a>"
x\nextPrediction="<a href=\"\\?seite=(\\d+)_\\d+\">vor</a>"
x\previousSubPrediction="<a href=\"\\?seite=\\d+_(\\d+)\">&lt;&lt;</a>"
x\nextSubPrediction="<a href=\"\\?seite=\\d+_(\\d+)\">&gt;&gt;</a>"
x\startPage=100

[edit] Ireland

[edit] RTÉ Aertel

x\siteName=RTÉ Aertel
x\imageUrl=http://www.rte.ie/aertel/images/[page]-[2:subpage].gif
x\predictionUrl=http://www.rte.ie/aertel/[page]-[2:subpage].html
x\subPredictionUrl=http://www.rte.ie/aertel/[page]-[2:subpage].html
x\previousPrediction="<a href=\"(\\d+)-\\d+.html\">Previous Page</a>"
x\nextPrediction="<a href=\"(\\d+)-\\d+.html\">Next Page</a>"
x\previousSubPrediction="<a href=\"\\d+-(\\d+).html\">Previous SubPage</a>"
x\nextSubPrediction="<a href=\"\\d+-(\\d+).html\">Next SubPage</a>"
x\startPage=100

[edit] United Kingdom

[edit] BBC Ceefax1

Note: for pages with multiple subpages, subpage 1 is not loaded correctly.

x\siteName=BBC Ceefax1
x\imageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_0&font=big&channel=bbc1
x\subImageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_[subpage]&font=big&channel=bbc1
x\predictionUrl=http://www.ceefax.tv/imode/bbc1_imode21.php?page=[page]
x\subPredictionUrl=http://www.ceefax.tv/imode/bbc1_imode21.php?page=[page]&subpage=[subpage]
x\previousPrediction="<a accesskey=\"x\" href=\"bbc1_imode21.php\\?page=(\\d+)#page\">"
x\nextPrediction="<a accesskey=\"6\" href=\"bbc1_imode21.php\\?page=(\\d+)#page\">"
x\previousSubPrediction="<a accesskey=\"1\" href=\"bbc1_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
x\nextSubPrediction="<a accesskey=\"3\" href=\"bbc1_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
x\startPage=100
x\pad=1

[edit] BBC Ceefax2

Note: for pages with multiple subpages, subpage 1 is not loaded correctly.

x\siteName=BBC Ceefax2
x\imageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_0&font=big&channel=bbc2
x\subImageUrl=http://www.ceefax.tv/cgi-bin/gfx.cgi?page=[page]_[subpage]&font=big&channel=bbc2
x\predictionUrl=http://www.ceefax.tv/imode/bbc2_imode21.php?page=[page]
x\subPredictionUrl=http://www.ceefax.tv/imode/bbc2_imode21.php?page=[page]&subpage=[subpage]
x\previousPrediction="<a accesskey=\"x\" href=\"bbc2_imode21.php\\?page=(\\d+)#page\">"
x\nextPrediction="<a accesskey=\"6\" href=\"bbc2_imode21.php\\?page=(\\d+)#page\">"
x\previousSubPrediction="<a accesskey=\"1\" href=\"bbc2_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
x\nextSubPrediction="<a accesskey=\"3\" href=\"bbc2_imode21.php\\?page=\\d+&subpage=(\\d+)#page\">"
x\startPage=100
x\pad=1