Index: /ipk/source/players_myvideo_1_0/CONTROL/control
===================================================================
--- /ipk/source/players_myvideo_1_0/CONTROL/control	(revision 4750)
+++ /ipk/source/players_myvideo_1_0/CONTROL/control	(revision 4750)
@@ -0,0 +1,10 @@
+Package: enigma2-plugin-swapplayers-myvideo
+Version: 1.0
+Architecture: sh4
+OE: MyVideo
+Section: players
+Priority: optional
+Maintainer: acid-burn@opendreambox.org
+Homepage: http://www.aaf-digital.info
+Source: http://www.aaf-digital.info
+Description: MyVideoPlayer Plugin for swapstick to view MyVideo videos over internet! SWAPSTICK IS NEEDED!
Index: /ipk/source/players_myvideo_1_0/CONTROL/postinst
===================================================================
--- /ipk/source/players_myvideo_1_0/CONTROL/postinst	(revision 4750)
+++ /ipk/source/players_myvideo_1_0/CONTROL/postinst	(revision 4750)
@@ -0,0 +1,7 @@
+#!/bin/sh
+TMP=/tmp/.players
+echo "successfully installed"
+echo "syncing disk"
+echo "please reboot your box so that the extension will be mounted..."
+sync
+exit 0
Index: /ipk/source/players_myvideo_1_0/CONTROL/postrm
===================================================================
--- /ipk/source/players_myvideo_1_0/CONTROL/postrm	(revision 4750)
+++ /ipk/source/players_myvideo_1_0/CONTROL/postrm	(revision 4750)
@@ -0,0 +1,9 @@
+#!/bin/sh
+TMP=/tmp/.players
+
+rm -rf /var/swap/extensions/MyVideoPlayer
+
+echo "successfully removed"
+echo "syncing disk"
+sync
+exit 0
Index: /ipk/source/players_myvideo_1_0/CONTROL/preinst
===================================================================
--- /ipk/source/players_myvideo_1_0/CONTROL/preinst	(revision 4750)
+++ /ipk/source/players_myvideo_1_0/CONTROL/preinst	(revision 4750)
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+TMP=/tmp/.players
+echo "syncing disk"
+sync
+
+model=`cat /etc/model`
+
+echo""
+echo "Checking your Boxtype...."
+echo "Some Plugins will not work correctly on your $model!"
+echo ""
+if [ "$model" = "" ]; then
+	echo "Sorry! This Plugin is not available for your $model because it will not work correctly!!!"
+	echo "Aborting installation..."
+	exit 1
+else
+	echo "Boxtype: $model OK"
+fi
+
+echo "checking swapstick"
+if [ ! -d /var/swap/extensions/ ]; then
+  echo "--------------------------"
+	echo "no swapstick found...."
+	echo "--------------------------"
+	exit 1
+fi
+echo "swapstick found...."
+echo "installing MyTube plugin to swapstick..."
+echo "checking OS"
+if  [ `cat /etc/motd | grep AAF | grep M | grep rev | wc -l` -eq 0 ]; then                      
+	echo ---------------------------
+	echo DONT USE this IPK Package!!
+	echo ---
+	echo Only for AAF Image!!
+	echo ---------------------------
+	exit 1
+fi
+exit 0
Index: /ipk/source/players_myvideo_1_0/CONTROL/prerm
===================================================================
--- /ipk/source/players_myvideo_1_0/CONTROL/prerm	(revision 4750)
+++ /ipk/source/players_myvideo_1_0/CONTROL/prerm	(revision 4750)
@@ -0,0 +1,6 @@
+#!/bin/sh
+TMP=/tmp/.players
+echo "syncing disk"
+sync
+echo "removing MyVideo plugin from swapstick"
+exit 0
Index: /ipk/source/players_myvideo_1_0/usr/lib/enigma2/python/Plugins/Extensions/MyVideoPlayer/plugin.py
===================================================================
--- /ipk/source/players_myvideo_1_0/usr/lib/enigma2/python/Plugins/Extensions/MyVideoPlayer/plugin.py	(revision 4750)
+++ /ipk/source/players_myvideo_1_0/usr/lib/enigma2/python/Plugins/Extensions/MyVideoPlayer/plugin.py	(revision 4750)
@@ -0,0 +1,949 @@
+from urllib2 import urlopen
+import httplib
+import urlparse
+from Components.MenuList import MenuList
+from Components.Label import Label
+
+from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
+from Components.ActionMap import NumberActionMap
+from Components.Input import Input
+from Components.Pixmap import Pixmap
+from Components.FileList import FileList
+from Screens.ChoiceBox import ChoiceBox
+from Plugins.Plugin import PluginDescriptor
+from Components.ActionMap import ActionMap
+from Screens.InputBox import InputBox, PinInput
+
+from twisted.web.client import getPage, downloadPage
+
+from enigma import eServiceReference
+from enigma import eServiceCenter
+
+from Screens.InfoBar import MoviePlayer
+
+######################################################################
+#                                                                    #
+#   MyVideoPlayer v.r2    : Coded by pcd@i-have-a-dreambox, Nov 2010 #
+#   This is free software; you can redistribute it and/or modify it. #
+#   However, you are politely requested to retain these 3 lines.     #
+#                                                                    #
+######################################################################
+
+class Vidtype(Screen):
+    skin = """
+		<screen position="center,center" size="500,400" title="Kategorien" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="50,20" size="450,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="100,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+
+		</screen>"""
+    def __init__(self, session):
+		self.skin = Vidtype.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+
+                self.ict = 0
+                self.onLayoutFinish.append(self.startSession)
+
+    def startSession(self):
+                vidtype = []
+                self.urltype = []
+              
+                vidtype.append("Chart_Musik")
+                vidtype.append("Alle_Filme")
+                vidtype.append("Alle_Filme_2")
+                vidtype.append("ProSieben_popstars-girls-forever")
+                vidtype.append("Top100_charts")
+                vidtype.append("Top_100_Filme")
+                vidtype.append("Top_100_Serien")
+                vidtype.append("Themen")
+                vidtype.append("ProSieben_vampire-diaries")
+                vidtype.append("der-grosse-sat1-film")
+                
+                   
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Single_Charts?l")
+                self.urltype.append("http://www.myvideo.de/Filme/Alle_Filme?l")
+                self.urltype.append("http://www.myvideo.de/Filme/Alle_Filme?l")
+                self.urltype.append("http://www.myvideo.de/channel/popstars-girls-forever?l")
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Charts?l")
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Filme?l")
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Serien?l")
+                self.urltype.append(" ")
+                self.urltype.append("http://www.myvideo.de/channel/vampire-diaries?l")
+                self.urltype.append("http://www.myvideo.de/channel/der-grosse-sat1-film?l")
+                
+                      
+                self["list"].setList(vidtype)
+    
+    def okClicked(self):
+          itype = self["list"].getSelectionIndex()
+          print "itype = ", itype 
+          try:
+                url = self.urltype[itype]
+                if itype == 0:
+                        self.session.open(GetvidsChart, url, title = "Chart_Musik")
+                elif itype == 1:
+                        self.session.open(GetvidsFilm, url, title = "Filme")
+                elif itype == 2:
+                        self.session.open(GetvidsFilm2, url, title = "Filme")        
+                elif itype == 3:
+                        self.session.open(GetvidsChan, url, title = "popstars-girls-forever") 
+                elif itype == 4:
+                        self.session.open(GetvidsChart, url, title = "Top100_charts")
+                elif itype == 5:
+                        self.session.open(GetFilm100, url, title = "Top_100_Filme")
+                elif itype == 6:
+                        self.session.open(GetFilm100, url, title = "Top_100_Serien") 
+                elif itype == 7:
+                        self.session.open(ThemeType)
+                elif itype == 8:
+                        self.session.open(GetvidsChan, url, title = "vampire-diaries") 
+                elif itype == 9:
+                        self.session.open(GetvidsChan, url, title = "der-grosse-sat1-film")                                                                             
+ 
+                else:
+                        self.session.open(GetvidsChart, url, title = "Videos")
+          except:              
+                return        
+
+class GetvidsChart(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsChart.skin
+		Screen.__init__(self, session)
+         	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+          
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("class='vThumb", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('a href',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("id='",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("thumbs",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):(n8-2)]
+                
+                url = url1 + url2 +".flv"
+#                print "name 0 =", name
+#                print "url 0 = ", url
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:
+#                         print "name  =", name
+#                         print "url  = ", url                                       
+                         self.names.append(name)       
+                         self.urls.append(url)
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+#                self.session.open(Playvid, sref)
+                self.session.open(MoviePlayer, sref)
+
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)		
+
+
+class GetvidsFilm(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsFilm.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb'", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('href=',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("img id",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("covers",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):n8]
+                
+                url = url1 + url2 +".flv"
+                
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+#                         print "name =", name
+#                         print "url =", url
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)
+                
+class GetvidsFilm2(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsFilm.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 14
+          self["info"].setText("Downloading list...")
+          while ipage<17 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb'", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('href=',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("img id",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("covers",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):n8]
+                
+                url = url1 + url2 +".flv"
+                
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+#                         print "name =", name
+#                         print "url =", url
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number) 
+                
+class GetvidsChan(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsChan.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage1=""):
+           fpage =""
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   m1 = fpage1.find("appendChild", start)
+#	   if m1<0:
+#                return
+	   m2 = fpage1.find("appendChild", (m1+2))
+#	   if m2<0:
+#                return
+           fpage =  fpage1[start:m2]
+
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('href=',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("img id",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("thumbs",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):(n8-2)]
+                
+                url = url1 + url2 +".flv"
+#                print "name =", name
+#                print "url =", url
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)
+                                              
+
+class GetFilm100(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetFilm100.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb", start)
+
+                if n1<0:
+                       break 
+                n2 = fpage.find('watch',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("onmouseover",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("http",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("thumbs",(n6+5))
+                if n7<0:
+                       break
+                
+                vid = fpage[(n2+6):n4]
+                url1 = url1 = fpage[(n6):n7]
+                url = url1 + vid + ".flv"
+                name = fpage[(n4+1):n3]
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+ #                        print "name =", name
+ #                        print "url =", url
+                         j = j+1
+                         start = n7 + 10
+                         i = i+1
+                else:         
+                         start = n7 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)
+		
+		
+class ThemeType(Screen):
+    skin = """
+		<screen position="center,center" size="500,400" title="Kategorien" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="50,20" size="450,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="100,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+
+		</screen>"""
+    def __init__(self, session):
+		self.skin = ThemeType.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+
+                self.ict = 0
+                self.onLayoutFinish.append(self.startSession)
+
+    def startSession(self):
+                vidtype = []
+                self.urltype = []
+              
+                vidtype.append("Auto_Motor")
+                vidtype.append("Comedy")
+                vidtype.append("Talente")
+                vidtype.append("Lifestyle")
+                vidtype.append("Sport")
+                vidtype.append("Webisodes")
+                vidtype.append("TV_Filme")
+                vidtype.append("Infotainment")
+                           
+                   
+                self.urltype.append("http://www.myvideo.de/Themen/Auto_%26_Motor?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Comedy?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Talente?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Lifestyle?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Sport?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Webisodes?l")
+                self.urltype.append("http://www.myvideo.de/Themen/TV_%26_Film?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Infotainment?l")
+                      
+                self["list"].setList(vidtype)
+    
+    def okClicked(self):
+          itype = self["list"].getSelectionIndex()
+          print "itype = ", itype 
+          try:
+                url = self.urltype[itype]
+                if itype == 0:
+                        self.session.open(GetvidsChart, url, title = "Auto_Motor")
+                elif itype == 1:
+                        self.session.open(GetvidsChart, url, title = "Comedy")
+                elif itype == 2:
+                        self.session.open(GetvidsChart, url, title = "Talente")        
+                elif itype == 3:
+                        self.session.open(GetvidsChart, url, title = "Lifestyle")        
+                elif itype == 4:
+                        self.session.open(GetvidsChart, url, title = "Sport")                                     
+                elif itype == 5:
+                        self.session.open(GetvidsChart, url, title = "Webisodes")
+                elif itype == 6:
+                        self.session.open(GetvidsChart, url, title = "TV_Film")
+                elif itype == 7:
+                        self.session.open(GetvidsChart, url, title = "Infotainment") 
+         
+                else:
+                        self.session.open(GetvidsChart, url, title = "Videos")
+          except:              
+                return        
+		
+		
+		
+                               
+#################################                		
+
+def httpExists(url):
+    host, path = urlparse.urlsplit(url)[1:3]
+    found = 0
+    try:
+        connection = httplib.HTTPConnection(host)  ## Make HTTPConnection Object
+        connection.request("HEAD", path)
+        responseOb = connection.getresponse()      ## Grab HTTPResponse Object
+
+        if responseOb.status == 200:
+            found = 1
+        else:
+#            print "Status %d %s : %s" % (responseOb.status, responseOb.reason, url)
+            found = 0
+    except Exception, e:
+        print e.__class__,  e, url
+    return found
+
+def _test():
+    import doctest, httpExists
+    return doctest.testmod(httpExists)
+
+if __name__ == "__main__":
+    _test()
+
+
+
+def main(session, **kwargs):
+        session.open(Vidtype)
+        
+		
+
+def Plugins(**kwargs):
+	return PluginDescriptor(name="MyVideoPlayer", description="Plays videos from MyVideo", where = [ PluginDescriptor.WHERE_EXTENSIONSMENU, PluginDescriptor.WHERE_PLUGINMENU ], icon="MyVideo.png",  fnc=main)
+
+
+
+
+
+
+
+
Index: /ipk/source/swapplayers_myvideo_1_0/CONTROL/control
===================================================================
--- /ipk/source/swapplayers_myvideo_1_0/CONTROL/control	(revision 4750)
+++ /ipk/source/swapplayers_myvideo_1_0/CONTROL/control	(revision 4750)
@@ -0,0 +1,10 @@
+Package: enigma2-plugin-swapplayers-myvideo
+Version: 1.0
+Architecture: sh4
+OE: MyVideo
+Section: players
+Priority: optional
+Maintainer: acid-burn@opendreambox.org
+Homepage: http://www.aaf-digital.info
+Source: http://www.aaf-digital.info
+Description: MyVideoPlayer Plugin for swapstick to view MyVideo videos over internet! SWAPSTICK IS NEEDED!
Index: /ipk/source/swapplayers_myvideo_1_0/CONTROL/postinst
===================================================================
--- /ipk/source/swapplayers_myvideo_1_0/CONTROL/postinst	(revision 4750)
+++ /ipk/source/swapplayers_myvideo_1_0/CONTROL/postinst	(revision 4750)
@@ -0,0 +1,7 @@
+#!/bin/sh
+TMP=/tmp/.players
+echo "successfully installed"
+echo "syncing disk"
+echo "please reboot your box so that the extension will be mounted..."
+sync
+exit 0
Index: /ipk/source/swapplayers_myvideo_1_0/CONTROL/postrm
===================================================================
--- /ipk/source/swapplayers_myvideo_1_0/CONTROL/postrm	(revision 4750)
+++ /ipk/source/swapplayers_myvideo_1_0/CONTROL/postrm	(revision 4750)
@@ -0,0 +1,9 @@
+#!/bin/sh
+TMP=/tmp/.players
+
+rm -rf /var/swap/extensions/MyVideoPlayer
+
+echo "successfully removed"
+echo "syncing disk"
+sync
+exit 0
Index: /ipk/source/swapplayers_myvideo_1_0/CONTROL/preinst
===================================================================
--- /ipk/source/swapplayers_myvideo_1_0/CONTROL/preinst	(revision 4750)
+++ /ipk/source/swapplayers_myvideo_1_0/CONTROL/preinst	(revision 4750)
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+TMP=/tmp/.players
+echo "syncing disk"
+sync
+
+model=`cat /etc/model`
+
+echo""
+echo "Checking your Boxtype...."
+echo "Some Plugins will not work correctly on your $model!"
+echo ""
+if [ "$model" = "" ]; then
+	echo "Sorry! This Plugin is not available for your $model because it will not work correctly!!!"
+	echo "Aborting installation..."
+	exit 1
+else
+	echo "Boxtype: $model OK"
+fi
+
+echo "checking swapstick"
+if [ ! -d /var/swap/extensions/ ]; then
+  echo "--------------------------"
+	echo "no swapstick found...."
+	echo "--------------------------"
+	exit 1
+fi
+echo "swapstick found...."
+echo "installing MyTube plugin to swapstick..."
+echo "checking OS"
+if  [ `cat /etc/motd | grep AAF | grep M | grep rev | wc -l` -eq 0 ]; then                      
+	echo ---------------------------
+	echo DONT USE this IPK Package!!
+	echo ---
+	echo Only for AAF Image!!
+	echo ---------------------------
+	exit 1
+fi
+exit 0
Index: /ipk/source/swapplayers_myvideo_1_0/CONTROL/prerm
===================================================================
--- /ipk/source/swapplayers_myvideo_1_0/CONTROL/prerm	(revision 4750)
+++ /ipk/source/swapplayers_myvideo_1_0/CONTROL/prerm	(revision 4750)
@@ -0,0 +1,6 @@
+#!/bin/sh
+TMP=/tmp/.players
+echo "syncing disk"
+sync
+echo "removing MyVideo plugin from swapstick"
+exit 0
Index: /ipk/source/swapplayers_myvideo_1_0/var/swap/extensions/MyVideoPlayer/plugin.py
===================================================================
--- /ipk/source/swapplayers_myvideo_1_0/var/swap/extensions/MyVideoPlayer/plugin.py	(revision 4750)
+++ /ipk/source/swapplayers_myvideo_1_0/var/swap/extensions/MyVideoPlayer/plugin.py	(revision 4750)
@@ -0,0 +1,949 @@
+from urllib2 import urlopen
+import httplib
+import urlparse
+from Components.MenuList import MenuList
+from Components.Label import Label
+
+from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
+from Components.ActionMap import NumberActionMap
+from Components.Input import Input
+from Components.Pixmap import Pixmap
+from Components.FileList import FileList
+from Screens.ChoiceBox import ChoiceBox
+from Plugins.Plugin import PluginDescriptor
+from Components.ActionMap import ActionMap
+from Screens.InputBox import InputBox, PinInput
+
+from twisted.web.client import getPage, downloadPage
+
+from enigma import eServiceReference
+from enigma import eServiceCenter
+
+from Screens.InfoBar import MoviePlayer
+
+######################################################################
+#                                                                    #
+#   MyVideoPlayer v.r2    : Coded by pcd@i-have-a-dreambox, Nov 2010 #
+#   This is free software; you can redistribute it and/or modify it. #
+#   However, you are politely requested to retain these 3 lines.     #
+#                                                                    #
+######################################################################
+
+class Vidtype(Screen):
+    skin = """
+		<screen position="center,center" size="500,400" title="Kategorien" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="50,20" size="450,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="100,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+
+		</screen>"""
+    def __init__(self, session):
+		self.skin = Vidtype.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+
+                self.ict = 0
+                self.onLayoutFinish.append(self.startSession)
+
+    def startSession(self):
+                vidtype = []
+                self.urltype = []
+              
+                vidtype.append("Chart_Musik")
+                vidtype.append("Alle_Filme")
+                vidtype.append("Alle_Filme_2")
+                vidtype.append("ProSieben_popstars-girls-forever")
+                vidtype.append("Top100_charts")
+                vidtype.append("Top_100_Filme")
+                vidtype.append("Top_100_Serien")
+                vidtype.append("Themen")
+                vidtype.append("ProSieben_vampire-diaries")
+                vidtype.append("der-grosse-sat1-film")
+                
+                   
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Single_Charts?l")
+                self.urltype.append("http://www.myvideo.de/Filme/Alle_Filme?l")
+                self.urltype.append("http://www.myvideo.de/Filme/Alle_Filme?l")
+                self.urltype.append("http://www.myvideo.de/channel/popstars-girls-forever?l")
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Charts?l")
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Filme?l")
+                self.urltype.append("http://www.myvideo.de/Top_100/Top_100_Serien?l")
+                self.urltype.append(" ")
+                self.urltype.append("http://www.myvideo.de/channel/vampire-diaries?l")
+                self.urltype.append("http://www.myvideo.de/channel/der-grosse-sat1-film?l")
+                
+                      
+                self["list"].setList(vidtype)
+    
+    def okClicked(self):
+          itype = self["list"].getSelectionIndex()
+          print "itype = ", itype 
+          try:
+                url = self.urltype[itype]
+                if itype == 0:
+                        self.session.open(GetvidsChart, url, title = "Chart_Musik")
+                elif itype == 1:
+                        self.session.open(GetvidsFilm, url, title = "Filme")
+                elif itype == 2:
+                        self.session.open(GetvidsFilm2, url, title = "Filme")        
+                elif itype == 3:
+                        self.session.open(GetvidsChan, url, title = "popstars-girls-forever") 
+                elif itype == 4:
+                        self.session.open(GetvidsChart, url, title = "Top100_charts")
+                elif itype == 5:
+                        self.session.open(GetFilm100, url, title = "Top_100_Filme")
+                elif itype == 6:
+                        self.session.open(GetFilm100, url, title = "Top_100_Serien") 
+                elif itype == 7:
+                        self.session.open(ThemeType)
+                elif itype == 8:
+                        self.session.open(GetvidsChan, url, title = "vampire-diaries") 
+                elif itype == 9:
+                        self.session.open(GetvidsChan, url, title = "der-grosse-sat1-film")                                                                             
+ 
+                else:
+                        self.session.open(GetvidsChart, url, title = "Videos")
+          except:              
+                return        
+
+class GetvidsChart(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsChart.skin
+		Screen.__init__(self, session)
+         	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+          
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("class='vThumb", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('a href',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("id='",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("thumbs",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):(n8-2)]
+                
+                url = url1 + url2 +".flv"
+#                print "name 0 =", name
+#                print "url 0 = ", url
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:
+#                         print "name  =", name
+#                         print "url  = ", url                                       
+                         self.names.append(name)       
+                         self.urls.append(url)
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+#                self.session.open(Playvid, sref)
+                self.session.open(MoviePlayer, sref)
+
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)		
+
+
+class GetvidsFilm(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsFilm.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb'", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('href=',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("img id",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("covers",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):n8]
+                
+                url = url1 + url2 +".flv"
+                
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+#                         print "name =", name
+#                         print "url =", url
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)
+                
+class GetvidsFilm2(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsFilm.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 14
+          self["info"].setText("Downloading list...")
+          while ipage<17 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb'", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('href=',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("img id",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("covers",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):n8]
+                
+                url = url1 + url2 +".flv"
+                
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+#                         print "name =", name
+#                         print "url =", url
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number) 
+                
+class GetvidsChan(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetvidsChan.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage1=""):
+           fpage =""
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   m1 = fpage1.find("appendChild", start)
+#	   if m1<0:
+#                return
+	   m2 = fpage1.find("appendChild", (m1+2))
+#	   if m2<0:
+#                return
+           fpage =  fpage1[start:m2]
+
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb", start)
+                if n1<0:
+                       break 
+                n2 = fpage.find('href=',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("img id",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("src",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("thumbs",(n6+5))
+                if n7<0:
+                       break
+                
+                n8 = fpage.find(".jpg",(n7+5))
+                if n8<0:
+                       break
+                       
+                name = fpage[(n4+1):n3]
+                url1 = fpage[(n6+5):n7]
+                url2 = fpage[(n7+7):(n8-2)]
+                
+                url = url1 + url2 +".flv"
+#                print "name =", name
+#                print "url =", url
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+                         j = j+1
+                         start = n8 + 10
+                         i = i+1
+                else:         
+                         start = n8 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)
+                                              
+
+class GetFilm100(Screen):
+
+    skin = """
+		<screen position="center,center" size="700,400" title="" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="20,20" size="660,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="300,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+		</screen>"""
+
+    def __init__(self, session, url, title):
+		self.skin = GetFilm100.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+                self.setTitle(title)
+                self.url = url
+                self.urls = []
+                self.names = []
+                self.onLayoutFinish.append(self.search)
+                
+
+    def search(self):
+          ipage = 1
+          self["info"].setText("Downloading list...")
+          while ipage<6 :
+                furl = self.url + "page=" + str(ipage)
+                print "furl 1 =", furl
+                getPage(furl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
+                ipage = ipage+1
+ 
+ #                         self["info"].setText("")
+
+    def downloadListError(self, error=""):
+		print str(error)
+		self["info"].setText("Connection Error!")
+		return
+
+    def downloadListCallback(self, fpage=""):
+           self["info"].setText("Downloading list...")
+           iurllast = " "
+           iname = []
+           surl = []
+ 
+	   i = 0
+	   j = 0
+	   icount = 0
+	   start = 0
+	   while i<20 :
+                n1 = fpage.find("div class='vThumb", start)
+
+                if n1<0:
+                       break 
+                n2 = fpage.find('watch',(n1+3))
+                if n2<0:
+                       break
+                n3 = fpage.find("'",(n2+9))
+                if n3<0:
+                       break 
+
+                n4 = fpage.rfind("/",n2,n3)
+                if n4<0:
+                       break 
+     
+                n5 = fpage.find("onmouseover",(n3+1))
+                if n5<0:
+                       break
+                
+                n6 = fpage.find("http",(n5+5))
+                if n6<0:
+                       break
+                
+                n7 = fpage.find("thumbs",(n6+5))
+                if n7<0:
+                       break
+                
+                vid = fpage[(n2+6):n4]
+                url1 = url1 = fpage[(n6):n7]
+                url = url1 + vid + ".flv"
+                name = fpage[(n4+1):n3]
+                inew= 0
+                for nam in self.names:
+                     if name == nam:
+                          inew = 1
+                          break
+                print "inew= ", inew
+ 
+                if inew == 0 and httpExists(url) == 1:                                                
+                         self.names.append(name)       
+                         self.urls.append(url)
+ #                        print "name =", name
+ #                        print "url =", url
+                         j = j+1
+                         start = n7 + 10
+                         i = i+1
+                else:         
+                         start = n7 + 10
+                         i = i+1
+ #                        continue
+
+                
+           self["info"].setText("")
+           print "self.names =", self.names
+           self["list"].setList(self.names)
+
+   
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+    def okClicked(self):
+           itype = self["list"].getSelectionIndex()
+           try:
+		url = self.urls[itype]
+		name = self.names[itype]
+                sref = eServiceReference(4097,0,url)
+                sref.setName(name)
+                self.session.open(MoviePlayer, sref)
+                
+           except:
+                self["info"].setText("No item available - Sorry !")
+                
+
+    def keyLeft(self):
+		self["text"].left()
+	
+    def keyRight(self):
+		self["text"].right()
+	
+    def keyNumberGlobal(self, number):
+		print "pressed", number
+		self["text"].number(number)
+		
+		
+class ThemeType(Screen):
+    skin = """
+		<screen position="center,center" size="500,400" title="Kategorien" >
+			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
+			<widget name="list" position="50,20" size="450,350" scrollbarMode="showOnDemand" />
+			<!--widget name="pixmap" position="200,0" size="190,250" /-->
+			<eLabel position="70,100" zPosition="-1" size="100,69" backgroundColor="#222222" />
+			<widget name="info" position="100,230" zPosition="4" size="100,25" font="Regular;18" foregroundColor="#ffffff" transparent="1" halign="center" valign="center" />
+
+		</screen>"""
+    def __init__(self, session):
+		self.skin = ThemeType.skin
+		Screen.__init__(self, session)
+
+        	self["list"] = MenuList([])
+		self["info"] = Label()
+                self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
+
+                self.ict = 0
+                self.onLayoutFinish.append(self.startSession)
+
+    def startSession(self):
+                vidtype = []
+                self.urltype = []
+              
+                vidtype.append("Auto_Motor")
+                vidtype.append("Comedy")
+                vidtype.append("Talente")
+                vidtype.append("Lifestyle")
+                vidtype.append("Sport")
+                vidtype.append("Webisodes")
+                vidtype.append("TV_Filme")
+                vidtype.append("Infotainment")
+                           
+                   
+                self.urltype.append("http://www.myvideo.de/Themen/Auto_%26_Motor?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Comedy?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Talente?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Lifestyle?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Sport?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Webisodes?l")
+                self.urltype.append("http://www.myvideo.de/Themen/TV_%26_Film?l")
+                self.urltype.append("http://www.myvideo.de/Themen/Infotainment?l")
+                      
+                self["list"].setList(vidtype)
+    
+    def okClicked(self):
+          itype = self["list"].getSelectionIndex()
+          print "itype = ", itype 
+          try:
+                url = self.urltype[itype]
+                if itype == 0:
+                        self.session.open(GetvidsChart, url, title = "Auto_Motor")
+                elif itype == 1:
+                        self.session.open(GetvidsChart, url, title = "Comedy")
+                elif itype == 2:
+                        self.session.open(GetvidsChart, url, title = "Talente")        
+                elif itype == 3:
+                        self.session.open(GetvidsChart, url, title = "Lifestyle")        
+                elif itype == 4:
+                        self.session.open(GetvidsChart, url, title = "Sport")                                     
+                elif itype == 5:
+                        self.session.open(GetvidsChart, url, title = "Webisodes")
+                elif itype == 6:
+                        self.session.open(GetvidsChart, url, title = "TV_Film")
+                elif itype == 7:
+                        self.session.open(GetvidsChart, url, title = "Infotainment") 
+         
+                else:
+                        self.session.open(GetvidsChart, url, title = "Videos")
+          except:              
+                return        
+		
+		
+		
+                               
+#################################                		
+
+def httpExists(url):
+    host, path = urlparse.urlsplit(url)[1:3]
+    found = 0
+    try:
+        connection = httplib.HTTPConnection(host)  ## Make HTTPConnection Object
+        connection.request("HEAD", path)
+        responseOb = connection.getresponse()      ## Grab HTTPResponse Object
+
+        if responseOb.status == 200:
+            found = 1
+        else:
+#            print "Status %d %s : %s" % (responseOb.status, responseOb.reason, url)
+            found = 0
+    except Exception, e:
+        print e.__class__,  e, url
+    return found
+
+def _test():
+    import doctest, httpExists
+    return doctest.testmod(httpExists)
+
+if __name__ == "__main__":
+    _test()
+
+
+
+def main(session, **kwargs):
+        session.open(Vidtype)
+        
+		
+
+def Plugins(**kwargs):
+	return PluginDescriptor(name="MyVideoPlayer", description="Plays videos from MyVideo", where = [ PluginDescriptor.WHERE_EXTENSIONSMENU, PluginDescriptor.WHERE_PLUGINMENU ], icon="MyVideo.png",  fnc=main)
+
+
+
+
+
+
+
+
