/[projects]/misc/xbmc/plugin.video.todic/default.py
ViewVC logotype

Diff of /misc/xbmc/plugin.video.todic/default.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1677 by torben, Mon Jan 23 15:50:40 2012 UTC revision 1678 by torben, Mon Jan 23 17:31:45 2012 UTC
# Line 1  Line 1 
 # This Python file uses the following encoding: utf-8  
1    
2    # This Python file uses the following encoding: utf-8
3    
4  '''  '''
5      Todic plugin for XBMC      Todic plugin for XBMC
# Line 16  import xbmcaddon Line 16  import xbmcaddon
16  import xbmcgui  import xbmcgui
17  import xbmcplugin  import xbmcplugin
18  import urllib  import urllib
19  import urllib2, re  import urllib2
20    
21    from xml.dom.minidom import parseString
22    
23  __addon__ = xbmcaddon.Addon(id='plugin.video.todic')  __addon__ = xbmcaddon.Addon(id='plugin.video.todic')
24  __key__ = __addon__.getSetting('xbmckey').lower()  __key__ = __addon__.getSetting('xbmckey').lower()
# Line 54  class TodicPlayer(xbmc.Player): Line 56  class TodicPlayer(xbmc.Player):
56                          xbmc.sleep(5000)                          xbmc.sleep(5000)
57                                                    
58    
59    def getText2(nodelist):
60            rc = []
61            for node in nodelist:
62                    if node.nodeType == node.TEXT_NODE:
63                            rc.append(node.data)
64                    else:
65                            rc.append( getText(node.childNodes) )
66            return ''.join(rc)
67    
68    def getText(nodelist):
69            if nodelist.length == 0:
70                    return ''
71            else:
72                    if nodelist[0].childNodes.length == 0:
73                            return ''
74                    else:
75                            return nodelist[0].childNodes[0].nodeValue
76    
77    
78  def open_url(url):  def open_url(url):
# Line 79  def rootMenu(): Line 98  def rootMenu():
98    
99  def buildList(url,title, endlist=True):  def buildList(url,title, endlist=True):
100          print '[TODIC]:'+str(url)                  print '[TODIC]:'+str(url)        
101    
102          link = open_url(url)          link = open_url(url)
103          ty=re.compile('<meta type=\'(.+?)\'').findall(link)          doc = parseString(link)
104          print '[TODIC]'+str(ty[0])          ty = doc.getElementsByTagName("meta")[0].getAttribute("type")
105            print '[TODIC]'+str(ty)
106    
107          if ty[0] == 'clipList':          if ty == 'clipList':
108                  mode = '50'                  mode = '50'
109                  folder = False                  folder = False
110          else:          else:
111                  mode = '1'                  mode = '1'
112                  folder = True                  folder = True
113    
114          m=re.compile('<title>(.+?)</title><url>(.+?)</url><cover>(.+?)</cover><description>(.*)</description>').findall(link)          entries = doc.getElementsByTagName("entry")
115          l=len(m)          l=len(entries)
116          for name,url,thumb,description in m:                                  description = ''
117            for entry in entries:
118                    name =  getText( entry.getElementsByTagName("title") )
119                    url =  getText( entry.getElementsByTagName("url") )
120                    thumb = getText( entry.getElementsByTagName("cover") )
121                    description = getText( entry.getElementsByTagName("description") )
122    
123                    name = name.encode('latin-1')
124                    description = description.encode('latin-1')
125    
126    ##              print "name:" + name
127    #               print "url:" + url
128    #               print "thumb:" + thumb
129    #               print "description:" + description
130    
131    
132                  listitem = xbmcgui.ListItem(label = name, label2='test', iconImage = 'DefaultFolder.png', thumbnailImage = thumb)                  listitem = xbmcgui.ListItem(label = name, label2='test', iconImage = 'DefaultFolder.png', thumbnailImage = thumb)
133                  listitem.setProperty('Fanart_Image', fanartImage)                  listitem.setProperty('Fanart_Image', fanartImage)
# Line 102  def buildList(url,title, endlist=True): Line 137  def buildList(url,title, endlist=True):
137                          infoLabels['plot'] = description                                  infoLabels['plot'] = description        
138                          listitem.setInfo('video', infoLabels)                          listitem.setInfo('video', infoLabels)
139    
140                  u = sys.argv[0] + "?mode=" + urllib.quote_plus(mode) + "&name=" + urllib.quote_plus(name) + "&url=" + urllib.quote_plus(url)                  u = sys.argv[0] + "?mode=" + urllib.quote(mode) + "&name=" + urllib.quote(name) + "&url=" + urllib.quote(url)
141                  ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u, listitem = listitem, isFolder = folder, totalItems = l)                  ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u, listitem = listitem, isFolder = folder, totalItems = l)
142    
143          if (endlist == True):            if (endlist == True):  
# Line 112  def buildList(url,title, endlist=True): Line 147  def buildList(url,title, endlist=True):
147    
148    
149  def play_video(url, name):  def play_video(url, name):
150          link = open_url(url)          xml = open_url(url)
151          match=re.compile('<url>(.+?)</url>').findall(link)  
152          url = match[0]          doc = parseString(xml)
153            url = getText( doc.getElementsByTagName("url") )
154    
155          print '[TODIC]:'+str(url)          print '[TODIC]:'+str(url)
156          image = xbmc.getInfoImage( 'ListItem.Thumb' )          image = xbmc.getInfoImage( 'ListItem.Thumb' )
157          listitem = xbmcgui.ListItem(label = name , iconImage = 'DefaultVideo.png', thumbnailImage = image)          listitem = xbmcgui.ListItem(label = name , iconImage = 'DefaultVideo.png', thumbnailImage = image)
 #       listitem = xbmcgui.ListItem(label = name , iconImage = 'DefaultVideo.png', thumbnailImage = 'DefaultVideo.png')  
158          listitem.setInfo( type = "Video", infoLabels={ "Title": name } )          listitem.setInfo( type = "Video", infoLabels={ "Title": name } )
 #       xbmc.Player(xbmc.PLAYER_CORE_AUTO).play(str(url), listitem)  
159    
160          player = TodicPlayer(xbmc.PLAYER_CORE_AUTO)          player = TodicPlayer(xbmc.PLAYER_CORE_AUTO)
161          player.play(str(url), listitem)          player.play(str(url), listitem)
162          player.callbackLoop()  #       player.callbackLoop()
163    
164    
165    
# Line 226  elif mode == 50: Line 261  elif mode == 50:
261    
262    
263    
 # xbmcplugin.endOfDirectory(int(sys.argv[1]))  
264    

Legend:
Removed from v.1677  
changed lines
  Added in v.1678

  ViewVC Help
Powered by ViewVC 1.1.20