Changeset 3f4d97154588100797d4a362fb5eeb86ef9206fd

Show
Ignore:
Timestamp:
03/26/08 20:00:48 (8 months ago)
Author:
Jason Michalski <armooo@armooo-desktop.(none)>
git-committer:
Jason Michalski <armooo@armooo-desktop.(none)> 1206579648 -0500
git-parent:

[efc6d758b8235f783ad065be17fe17e6d51f32c6], [e5d0a3e3671bf2c9a4df8961caffe9c6f25d4782]

git-author:
Jason Michalski <armooo@armooo-desktop.(none)> 1206579648 -0500
Message:

Merge commit 'krkeegan/master'

Conflicts:

plugins/admin/admin.py

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/admin/admin.py

    refc6d75 r3f4d971  
    144144         
    145145    def NPL(self, handler, query): 
     146        shows_per_page = 50 #Change this to alter the number of shows returned per page 
    146147        subcname = query['Container'][0] 
    147148        cname = subcname.split('/')[0] 
    148149        folder = '' 
     150        AnchorItem = '' 
     151        AnchorOffset= '' 
    149152        for name, data in config.getShares(): 
    150153            if cname == name: 
     
    160163        if 'TiVo' in query: 
    161164            tivoIP = query['TiVo'][0] 
    162             theurl = 'https://'+ tivoIP +'/TiVoConnect?Command=QueryContainer&Container=/NowPlaying' 
     165            theurl = 'https://'+ tivoIP +'/TiVoConnect?Command=QueryContainer&ItemCount='+ str(shows_per_page) +'&Container=/NowPlaying' 
    163166            if 'Folder' in query: 
    164167                folder += str(query['Folder'][0]) 
    165168                theurl += '/' + folder 
     169            if 'AnchorItem' in query: 
     170                AnchorItem += str(query['AnchorItem'][0]) 
     171                theurl += '&AnchorItem=' + quote(AnchorItem) 
     172            if 'AnchorOffset' in query: 
     173                AnchorOffset += str(query['AnchorOffset'][0]) 
     174                theurl += '&AnchorOffset=' + AnchorOffset 
    166175 
    167176            password = tivo_mak #TiVo MAK 
     
    212221            xmldoc = minidom.parseString(tivo_cache[theurl]['thepage']) 
    213222            items = xmldoc.getElementsByTagName('Item') 
     223            TotalItems = xmldoc.getElementsByTagName('Details')[0].getElementsByTagName('TotalItems')[0].firstChild.data 
     224            ItemStart = xmldoc.getElementsByTagName('ItemStart')[0].firstChild.data 
     225            ItemCount = xmldoc.getElementsByTagName('ItemCount')[0].firstChild.data 
     226            FirstAnchor = items[0].getElementsByTagName("Links")[0].getElementsByTagName("Content")[0].getElementsByTagName("Url")[0].firstChild.data 
    214227 
    215228            data = [] 
     
    248261            data = [] 
    249262            tivoIP = '' 
     263            TotalItems = 0 
     264            ItemStart = 0 
     265            ItemCount = 0 
     266            FirstAnchor = '' 
    250267 
    251268        subcname = query['Container'][0] 
     
    264281        t.unquote = unquote 
    265282        t.len = len 
     283        t.TotalItems = int(TotalItems) 
     284        t.ItemStart = int(ItemStart) 
     285        t.ItemCount = int(ItemCount) 
     286        t.FirstAnchor = quote(FirstAnchor) 
     287        t.shows_per_page = shows_per_page 
     288        t.redirect = quote(unquote_plus(handler.path).split('/')[1]) 
    266289        o = ''.join([i for i in unicode(t) if i not in (u'\u200b')]) 
    267290        handler.wfile.write(o.encode('latin-1')) 
     
    324347                else: 
    325348                    togo_path = "" 
    326         folder = '' 
    327         if 'Folder' in query: 
    328             folder += str(query['Folder'][0]) 
    329349        if tivo_mak != "" and togo_path != "": 
    330350            parse_url = urlparse(str(query['Url'][0])) 
     
    345365            t.container = cname 
    346366            t.time = '3' 
    347             t.url = '/TiVoConnect?Command=NPL&Container=' + cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder 
     367            t.url = '/'+ query['Redirect'][0] 
    348368            t.text = '<h3>Transfer Initiated.</h3>  <br>You selected transfer has been initiated.'+\ 
    349                      '<br> The <a href="/TiVoConnect?Command=NPL&Container='+ cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder +'"> ToGo</a> page will reload in 3 seconds.' 
     369                     '<br> The <a href="/'+ query['Redirect'][0] +'"> ToGo</a> page will reload in 3 seconds.' 
    350370            handler.wfile.write(t) 
    351371        else: 
     
    355375            t.container = cname 
    356376            t.time = '10' 
    357             t.url = '/TiVoConnect?Command=NPL&Container=' + cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder 
     377            t.url = '/'+ query['Redirect'][0] 
    358378            t.text = '<h3>Missing Data.</h3>  <br>You must set both "tivo_mak" and "togo_path" before using this function.'+\ 
    359                      '<br> The <a href="/TiVoConnect?Command=NPL&Container='+ cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder +'"> ToGo</a> page will reload in 10 seconds.' 
     379                     '<br> The <a href="/'+ query['Redirect'][0] +'"> ToGo</a> page will reload in 10 seconds.' 
    360380            handler.wfile.write(t) 
    361381 
     
    363383        parse_url = urlparse(str(query['Url'][0])) 
    364384        theurl = 'http://' + parse_url[1].split(':')[0] + parse_url[2] + "?" + parse_url[4] 
    365         folder = '' 
    366         if 'Folder' in query: 
    367             folder += str(query['Folder'][0]) 
    368385         
    369386        status[theurl]['running'] = False 
     
    376393        t.container = cname 
    377394        t.time = '3' 
    378         t.url = '/TiVoConnect?Command=NPL&Container=' + cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder 
     395        t.url = '/'+ query['Redirect'][0] 
    379396        t.text = '<h3>Transfer Stopped.</h3>  <br>Your transfer has been stopped.'+\ 
    380                  '<br> The <a href="/TiVoConnect?Command=NPL&Container='+ cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder +'"> ToGo</a> page will reload in 3 seconds.' 
     397                 '<br> The <a href="/'+ query['Redirect'][0] +'"> ToGo</a> page will reload in 3 seconds.' 
    381398        handler.wfile.write(t) 
    382399 
  • plugins/admin/templates/npl.tmpl

    rf203746 re5d0a3e  
    3131      #if $tivoIP != '' 
    3232          <!-- If TiVoIP is present then we should display a NPL --> 
     33                  #if $ItemStart > 0 
     34                        #set $Offset = -($ItemStart + 1) 
     35                        #if $Offset < -($shows_per_page+1) 
     36                           #set $Offset = -($shows_per_page+1) 
     37                        #end if 
     38                        <a href="/TiVoConnect?Command=NPL&Container=$container&TiVo=$tivoIP&AnchorItem=$FirstAnchor&AnchorOffset=$Offset&Folder=$folder">Previous Page</a> 
     39                  #end if 
    3340                  <table> 
    3441                  #if $folder != '' 
     
    8592                                                #if $this_status['running'] and $this_status['rate'] != "" 
    8693                                                        Transfering - $this_status['rate'] KB/s<br> 
    87                                                         <a href="/TiVoConnect?Command=ToGoStop&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Folder=$folder">Stop Transfer</a> 
     94                                                        <a href="/TiVoConnect?Command=ToGoStop&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Redirect=$redirect">Stop Transfer</a> 
    8895                                                #elif $this_status['running'] and $this_status['rate'] == "" 
    8996                                                        Initiating Transfer.<br> 
     
    9198                                                #elif $this_status['error'] 
    9299                                                        Error - $this_status['error']<br> 
    93                                                         <a href="/TiVoConnect?Command=ToGo&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Folder=$folder">Try Transfer Again.</a> 
     100                                                        <a href="/TiVoConnect?Command=ToGo&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Redirect=$redirect">Try Transfer Again.</a> 
    94101                                                #elif $this_status['finished'] 
    95102                                                        Transfer Complete! 
    96103                                                #else 
    97104                                                        Transfer Stopped<br> 
    98                                                         <a href="/TiVoConnect?Command=ToGo&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Folder=$folder">Try Transfer Again.</a> 
     105                                                        <a href="/TiVoConnect?Command=ToGo&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Redirect=$redirect">Try Transfer Again.</a> 
    99106                                                #end if 
    100107                                        #else 
    101                                                 <a href="/TiVoConnect?Command=ToGo&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Folder=$folder">Transfer This.</a> 
     108                                                <a href="/TiVoConnect?Command=ToGo&Container=$(container)&Url=$(row['Url'])&TiVo=$tivoIP&Redirect=$redirect">Transfer This.</a> 
    102109                                        #end if 
    103110                                        </td> 
     
    110117                  #end for 
    111118                  </table> 
     119                  #if ($TotalItems - $ItemCount) > ($ItemStart + 1) 
     120                     #set $Offset = $shows_per_page - 1 
     121                     <a href="/TiVoConnect?Command=NPL&Container=$container&TiVo=$tivoIP&AnchorItem=$FirstAnchor&AnchorOffset=$Offset&Folder=$folder">Next Page</a> 
     122                  #end if 
    112123          #else 
    113124                  <!-- No TiVo IP Provided so display instructions -->