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 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 < or >, these HTML-entities will be converted to < or > respectively by the Wiki. This prevents easy copypasting by the user. You have to write &lt; and &gt; instead. (& 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\"><< Edellinen sivu</a>" x\nextPrediction="<a href=\"(\\d+)-01.htm\">Seuraava sivu >></a>" x\previousSubPrediction="<a href=\"\\d+-(\\d+).htm\"><< alasivu</a>" x\nextSubPrediction="<a href=\"\\d+-(\\d+).htm\">alasivu >></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\"><</a>" x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">></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\"><</a>" x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">></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+<<</a>" x\nextPrediction=";<a href=\"(\\d+)_\\d+.htm\">>>\\d+</a>" x\previousSubPrediction="<a href=\"\\d+_(\\d+).htm\"><<</a>" x\nextSubPrediction="<a href=\"\\d+_(\\d+).htm\">>></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\"><</a>" x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">></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\"><</a>" x\nextSubPrediction="pagnr=\\d+_(\\d+)\" class=\"teletext_numberBtn\">></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ück</a>" x\nextPrediction="url=(\\d+)_\\d+.htm\">vor</a>" x\previousSubPrediction="url=\\d+_(\\d+).htm\"><<</a>" x\nextSubPrediction="url=\\d+_(\\d+).htm\">>></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ü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+)\"><<</a>" x\nextSubPrediction="<a href=\"/themen/global/videotext/index.jhtml\\?seite=\\d+_(\\d+)\">>></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ück</a>" x\nextPrediction="<a href=\"\\?seite=(\\d+)_\\d+\">vor</a>" x\previousSubPrediction="<a href=\"\\?seite=\\d+_(\\d+)\"><<</a>" x\nextSubPrediction="<a href=\"\\?seite=\\d+_(\\d+)\">>></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
- This page was last modified on 8 December 2010, at 14:16.
- This page has been accessed 66,343 times.