/[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 1678 by torben, Mon Jan 23 17:31:45 2012 UTC revision 1914 by torben, Thu Jan 17 18:44:47 2013 UTC
# Line 24  __addon__ = xbmcaddon.Addon(id='plugin.v Line 24  __addon__ = xbmcaddon.Addon(id='plugin.v
24  __key__ = __addon__.getSetting('xbmckey').lower()  __key__ = __addon__.getSetting('xbmckey').lower()
25  __backend__ = "http://todic.dk/xbmc.php?xbmckey=" + __key__  __backend__ = "http://todic.dk/xbmc.php?xbmckey=" + __key__
26  fanartImage = os.path.join(__addon__.getAddonInfo('path'), 'fanart.jpg')  fanartImage = os.path.join(__addon__.getAddonInfo('path'), 'fanart.jpg')
27    datapath = xbmc.translatePath('special://profile/addon_data/plugin.video.todic/')
28    
29    
30  class TodicPlayer(xbmc.Player):  class TodicPlayer(xbmc.Player):
# Line 74  def getText(nodelist): Line 75  def getText(nodelist):
75                  else:                  else:
76                          return nodelist[0].childNodes[0].nodeValue                          return nodelist[0].childNodes[0].nodeValue
77    
78    def SaveFile(path, data):
79            file = open(path,'w')
80            file.write(data)
81            file.close()
82    
83    
84  def open_url(url):  def open_url(url):
85          req = urllib2.Request(url)          req = urllib2.Request(url)
# Line 84  def open_url(url): Line 90  def open_url(url):
90    
91  def rootMenu():  def rootMenu():
92    
93            msg = open_url(__backend__ + "&action=messages")
94            msg = msg.strip()
95    
96            if msg != "":
97                    dialog = xbmcgui.Dialog()              
98                    dialog.ok('XBMC Todic', msg)
99    
100          buildList(__backend__, "", False) # call default list          buildList(__backend__, "", False) # call default list
101    
102          # Adde xtra items to root menu          # Adde xtra items to root menu
# Line 97  def rootMenu(): Line 110  def rootMenu():
110    
111    
112  def buildList(url,title, endlist=True):  def buildList(url,title, endlist=True):
113          print '[TODIC]:'+str(url)                  print '[TODIC]:'+str(url)
114    
115          link = open_url(url)          link = open_url(url)
116          doc = parseString(link)          doc = parseString(link)
# Line 111  def buildList(url,title, endlist=True): Line 124  def buildList(url,title, endlist=True):
124                  mode = '1'                  mode = '1'
125                  folder = True                  folder = True
126    
127    
128          entries = doc.getElementsByTagName("entry")          entries = doc.getElementsByTagName("entry")
129          l=len(entries)          l=len(entries)
130          description = ''          description = ''
# Line 119  def buildList(url,title, endlist=True): Line 133  def buildList(url,title, endlist=True):
133                  url =  getText( entry.getElementsByTagName("url") )                  url =  getText( entry.getElementsByTagName("url") )
134                  thumb = getText( entry.getElementsByTagName("cover") )                  thumb = getText( entry.getElementsByTagName("cover") )
135                  description = getText( entry.getElementsByTagName("description") )                  description = getText( entry.getElementsByTagName("description") )
136                    playcount = getText( entry.getElementsByTagName("playcount") )
137    
138                    if playcount == '':
139                            playcount = '0'
140                    playcount = int(playcount)
141    
142                  name = name.encode('latin-1')                  name = name.encode('latin-1')
143                  description = description.encode('latin-1')                  description = description.encode('latin-1')
# Line 134  def buildList(url,title, endlist=True): Line 153  def buildList(url,title, endlist=True):
153                  if mode == '50':                  if mode == '50':
154                          infoLabels = {}                          infoLabels = {}
155                          infoLabels['title'] = name                          infoLabels['title'] = name
156                          infoLabels['plot'] = description                                  infoLabels['plot'] = description
157                            infoLabels['playcount'] = playcount
158                          listitem.setInfo('video', infoLabels)                          listitem.setInfo('video', infoLabels)
159    
160                  u = sys.argv[0] + "?mode=" + urllib.quote(mode) + "&name=" + urllib.quote(name) + "&url=" + urllib.quote(url)                  u = sys.argv[0] + "?mode=" + urllib.quote(mode) + "&name=" + urllib.quote(name) + "&url=" + urllib.quote(url)
# Line 148  def buildList(url,title, endlist=True): Line 168  def buildList(url,title, endlist=True):
168    
169  def play_video(url, name):  def play_video(url, name):
170          xml = open_url(url)          xml = open_url(url)
171            print 'TODIC url: ' + str(url)
172            print 'TODIC xml: '+ xml
173    
174          doc = parseString(xml)          doc = parseString(xml)
175          url = getText( doc.getElementsByTagName("url") )          url = getText( doc.getElementsByTagName("url") )
176    
177          print '[TODIC]:'+str(url)          subtitleurl = getText( doc.getElementsByTagName("subtitles") )
178            subtitlesfile = os.path.join(datapath,'temp.srt')
179    
180            print '[TODIC] subs: '+str(subtitleurl)
181            if len(subtitleurl) > 0:
182                    subtitles = open_url(subtitleurl)
183                    SaveFile(subtitlesfile, subtitles)
184                    print 'TODIC downloaded subtitles'
185    
186    
187    
188          image = xbmc.getInfoImage( 'ListItem.Thumb' )          image = xbmc.getInfoImage( 'ListItem.Thumb' )
189          listitem = xbmcgui.ListItem(label = name , iconImage = 'DefaultVideo.png', thumbnailImage = image)          listitem = xbmcgui.ListItem(label = name , iconImage = 'DefaultVideo.png', thumbnailImage = image)
190          listitem.setInfo( type = "Video", infoLabels={ "Title": name } )          listitem.setInfo( type = "Video", infoLabels={ "Title": name } )
191    
192          player = TodicPlayer(xbmc.PLAYER_CORE_AUTO)          player = TodicPlayer(xbmc.PLAYER_CORE_AUTO)
193          player.play(str(url), listitem)          player.play(str(url), listitem)
194    
195            #kan ikke loade subtitles hvis foerend playeren koerer
196            count = 0
197            while not xbmc.Player().isPlaying():
198                    xbmc.sleep(500)
199                    count += 1
200                    if count > 10:
201                            break
202    
203    
204            if xbmc.Player().isPlaying():
205                    if os.path.isfile(subtitlesfile):
206                            player.setSubtitles(subtitlesfile)
207                            print 'TODIC started subtitles'
208    
209  #       player.callbackLoop()  #       player.callbackLoop()
210    
211    
# Line 220  def get_params(): Line 267  def get_params():
267                                  param[splitparams[0]]=splitparams[1]                                                                      param[splitparams[0]]=splitparams[1]                                    
268          return param          return param
269    
 params = get_params()  
 url = None  
 name = None  
 mode = None  
270    
271  params = get_params()  params = get_params()
272  url = None  url = None
# Line 243  try: Line 286  try:
286  except:  except:
287          pass          pass
288    
289    if url == 'refresh':
290            xbmc.output("[tvserver] Container.Refresh")
291            xbmc.executebuiltin("Container.Refresh")
292            
293    
294  if mode == None:  elif mode == None:
295          #build main menu          #build main menu
296          rootMenu()          rootMenu()
297                

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

  ViewVC Help
Powered by ViewVC 1.1.20