Changeset e5d0a3e3671bf2c9a4df8961caffe9c6f25d4782
- Timestamp:
- 03/26/08 13:09:08
(10 months ago)
- Author:
- KRKeegan <-NOSPAM-kevin@krkeegan.com>
- git-committer:
- KRKeegan <-NOSPAM-kevin@krkeegan.com> 1206554948 -0700
- git-parent:
[ed1a74ce705bf51378ce1e823f31421bca5d4f88]
- git-author:
- KRKeegan <-NOSPAM-kevin@krkeegan.com> 1206554948 -0700
- Message:
Limit number of items per page in NPL, simpler method to pass URL for redirect
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| red1a74c |
re5d0a3e |
|
| 144 | 144 | |
|---|
| 145 | 145 | def NPL(self, handler, query): |
|---|
| | 146 | shows_per_page = 50 #Change this to alter the number of shows returned per page |
|---|
| 146 | 147 | subcname = query['Container'][0] |
|---|
| 147 | 148 | cname = subcname.split('/')[0] |
|---|
| 148 | 149 | folder = '' |
|---|
| | 150 | AnchorItem = '' |
|---|
| | 151 | AnchorOffset= '' |
|---|
| 149 | 152 | for name, data in config.getShares(): |
|---|
| 150 | 153 | if cname == name: |
|---|
| … | … | |
| 160 | 163 | if 'TiVo' in query: |
|---|
| 161 | 164 | 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' |
|---|
| 163 | 166 | if 'Folder' in query: |
|---|
| 164 | 167 | folder += str(query['Folder'][0]) |
|---|
| 165 | 168 | 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 |
|---|
| 166 | 175 | |
|---|
| 167 | 176 | password = tivo_mak #TiVo MAK |
|---|
| … | … | |
| 212 | 221 | xmldoc = minidom.parseString(tivo_cache[theurl]['thepage']) |
|---|
| 213 | 222 | 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 |
|---|
| 214 | 227 | |
|---|
| 215 | 228 | data = [] |
|---|
| … | … | |
| 248 | 261 | data = [] |
|---|
| 249 | 262 | tivoIP = '' |
|---|
| | 263 | TotalItems = 0 |
|---|
| | 264 | ItemStart = 0 |
|---|
| | 265 | ItemCount = 0 |
|---|
| | 266 | FirstAnchor = '' |
|---|
| 250 | 267 | |
|---|
| 251 | 268 | subcname = query['Container'][0] |
|---|
| … | … | |
| 264 | 281 | t.unquote = unquote |
|---|
| 265 | 282 | 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]) |
|---|
| 266 | 289 | handler.wfile.write(t) |
|---|
| 267 | 290 | |
|---|
| … | … | |
| 323 | 346 | else: |
|---|
| 324 | 347 | togo_path = "" |
|---|
| 325 | | folder = '' |
|---|
| 326 | | if 'Folder' in query: |
|---|
| 327 | | folder += str(query['Folder'][0]) |
|---|
| 328 | 348 | if tivo_mak != "" and togo_path != "": |
|---|
| 329 | 349 | parse_url = urlparse(str(query['Url'][0])) |
|---|
| … | … | |
| 344 | 364 | t.container = cname |
|---|
| 345 | 365 | t.time = '3' |
|---|
| 346 | | t.url = '/TiVoConnect?Command=NPL&Container=' + cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder |
|---|
| | 366 | t.url = '/'+ query['Redirect'][0] |
|---|
| 347 | 367 | t.text = '<h3>Transfer Initiated.</h3> <br>You selected transfer has been initiated.'+\ |
|---|
| 348 | | '<br> The <a href="/TiVoConnect?Command=NPL&Container='+ cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder +'"> ToGo</a> page will reload in 3 seconds.' |
|---|
| | 368 | '<br> The <a href="/'+ query['Redirect'][0] +'"> ToGo</a> page will reload in 3 seconds.' |
|---|
| 349 | 369 | handler.wfile.write(t) |
|---|
| 350 | 370 | else: |
|---|
| … | … | |
| 354 | 374 | t.container = cname |
|---|
| 355 | 375 | t.time = '10' |
|---|
| 356 | | t.url = '/TiVoConnect?Command=NPL&Container=' + cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder |
|---|
| | 376 | t.url = '/'+ query['Redirect'][0] |
|---|
| 357 | 377 | t.text = '<h3>Missing Data.</h3> <br>You must set both "tivo_mak" and "togo_path" before using this function.'+\ |
|---|
| 358 | | '<br> The <a href="/TiVoConnect?Command=NPL&Container='+ cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder +'"> ToGo</a> page will reload in 10 seconds.' |
|---|
| | 378 | '<br> The <a href="/'+ query['Redirect'][0] +'"> ToGo</a> page will reload in 10 seconds.' |
|---|
| 359 | 379 | handler.wfile.write(t) |
|---|
| 360 | 380 | |
|---|
| … | … | |
| 362 | 382 | parse_url = urlparse(str(query['Url'][0])) |
|---|
| 363 | 383 | theurl = 'http://' + parse_url[1].split(':')[0] + parse_url[2] + "?" + parse_url[4] |
|---|
| 364 | | folder = '' |
|---|
| 365 | | if 'Folder' in query: |
|---|
| 366 | | folder += str(query['Folder'][0]) |
|---|
| 367 | 384 | |
|---|
| 368 | 385 | status[theurl]['running'] = False |
|---|
| … | … | |
| 375 | 392 | t.container = cname |
|---|
| 376 | 393 | t.time = '3' |
|---|
| 377 | | t.url = '/TiVoConnect?Command=NPL&Container=' + cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder |
|---|
| | 394 | t.url = '/'+ query['Redirect'][0] |
|---|
| 378 | 395 | t.text = '<h3>Transfer Stopped.</h3> <br>Your transfer has been stopped.'+\ |
|---|
| 379 | | '<br> The <a href="/TiVoConnect?Command=NPL&Container='+ cname + '&TiVo=' + query['TiVo'][0] + '&Folder=' + folder +'"> ToGo</a> page will reload in 3 seconds.' |
|---|
| | 396 | '<br> The <a href="/'+ query['Redirect'][0] +'"> ToGo</a> page will reload in 3 seconds.' |
|---|
| 380 | 397 | handler.wfile.write(t) |
|---|
| 381 | 398 | |
|---|
| rf203746 |
re5d0a3e |
|
| 31 | 31 | #if $tivoIP != '' |
|---|
| 32 | 32 | <!-- 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 |
|---|
| 33 | 40 | <table> |
|---|
| 34 | 41 | #if $folder != '' |
|---|
| … | … | |
| 85 | 92 | #if $this_status['running'] and $this_status['rate'] != "" |
|---|
| 86 | 93 | 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> |
|---|
| 88 | 95 | #elif $this_status['running'] and $this_status['rate'] == "" |
|---|
| 89 | 96 | Initiating Transfer.<br> |
|---|
| … | … | |
| 91 | 98 | #elif $this_status['error'] |
|---|
| 92 | 99 | 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> |
|---|
| 94 | 101 | #elif $this_status['finished'] |
|---|
| 95 | 102 | Transfer Complete! |
|---|
| 96 | 103 | #else |
|---|
| 97 | 104 | 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> |
|---|
| 99 | 106 | #end if |
|---|
| 100 | 107 | #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> |
|---|
| 102 | 109 | #end if |
|---|
| 103 | 110 | </td> |
|---|
| … | … | |
| 110 | 117 | #end for |
|---|
| 111 | 118 | </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 |
|---|
| 112 | 123 | #else |
|---|
| 113 | 124 | <!-- No TiVo IP Provided so display instructions --> |
|---|