pyTivo Discussion Forum Forum Index pyTivo Discussion Forum
Answers and the development of pyTivo a TiVo transcoding server
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

TiVo Desktop 2.6
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
 
Post new topic   Reply to topic    pyTivo Discussion Forum Forum Index -> pyTivo
 View previous topic :: View next topic  
Author Message
sicklybutsexy



Joined: 05 Mar 2008
Posts: 152
Location: chicago

PostPosted: Thu Mar 27, 2008 3:20 am    Post subject: Reply with quote

It is very inconsistent right now. For some reason I can get it to push some videos and not others and not all the time.
Back to top
View user's profile Send private message
krkeegan
Site Admin


Joined: 04 Jan 2008
Posts: 458
Location: Los Angeles, CA

PostPosted: Thu Mar 27, 2008 3:35 am    Post subject: Reply with quote

Interesting, the push isn't instantaneous and I wonder if pushes can replace others. i.e. If I push two files before TiVo gets the request will it only transfer the second push?
Back to top
View user's profile Send private message Visit poster's website
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Thu Mar 27, 2008 3:36 am    Post subject: Reply with quote

krkeegan wrote:
Armooo, in mind.py is it possible to replace xml.etree.elementree with xml.dom instead since this is in python2.4? I know it is not as easy to use and the code looks worse with it, but mind.py does not do too much xml interpretation.


I think I am going to need to add more xml processing to support the subscription messages from the HME app on the tivo and to add correct error handling.

But what I did was try to import the 2.5 elementtree then standalone elementtree. And then only show a warning if it could not be found. Elementtree is even available as a package on sarge, so it is no different than people needing PIL for the photo plugin.

The next thing I plan to build is the XMPP part of the protocol so that we don't need to keep running tivo desktop just to download the available programs. And I think they should look a bit better transcoded with ffmpeg.
Back to top
View user's profile Send private message
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Thu Mar 27, 2008 3:37 am    Post subject: Reply with quote

krkeegan wrote:
Interesting, the push isn't instantaneous and I wonder if pushes can replace others. i.e. If I push two files before TiVo gets the request will it only transfer the second push?


In my tests the tivo queued them up like the music video downloads.
Back to top
View user's profile Send private message
krkeegan
Site Admin


Joined: 04 Jan 2008
Posts: 458
Location: Los Angeles, CA

PostPosted: Thu Mar 27, 2008 3:44 am    Post subject: Reply with quote

real_armooo wrote:
The next thing I plan to build is the XMPP part of the protocol so that we don't need to keep running tivo desktop just to download the available programs. And I think they should look a bit better transcoded with ffmpeg.


Ummmmm, I don't have TD installed and it seems to work fine for me. What do you mean by available programs?
Back to top
View user's profile Send private message Visit poster's website
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Thu Mar 27, 2008 3:51 am    Post subject: Reply with quote

krkeegan wrote:
real_armooo wrote:
The next thing I plan to build is the XMPP part of the protocol so that we don't need to keep running tivo desktop just to download the available programs. And I think they should look a bit better transcoded with ffmpeg.


Ummmmm, I don't have TD installed and it seems to work fine for me. What do you mean by available programs?


On your tivo in Find Programs | Download TV, Movies & Web Video. Selecting one of the web videos there will send a XMPP message. Then you can make a HTTP call to get a list of waiting video subscriptions. Next download it and play the bodyOfferModify, subscribe game and the tivo will download it from you. (Transcoded to mpeg2)
Back to top
View user's profile Send private message
gmd



Joined: 08 Jan 2008
Posts: 31

PostPosted: Thu Mar 27, 2008 11:55 pm    Post subject: Reply with quote

real_armooo wrote:
gmd, I updated a log statement to see what data was sent.
Could you try it again.


Code:

<error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>

Traceback (most recent call last):
  File "/home/gdunn/bin/pyTivo-20080327/plugins/video/video.py", line 474, in Push
    subtitle = file_info['name'])
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 44, in pushVideo
    offer_id, content_id = self.__bodyOfferModify(tsn, pc_body_id, description, duration, size, title, subtitle, url)
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 116, in __bodyOfferModify
    raise Exception(ElementTree.tostring(xml))
Exception: <error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>

_________________
pyTivoMetaThis - metadata via python - http://trac.kurai.org/projects/pyTivoMetaThis
Back to top
View user's profile Send private message
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Fri Mar 28, 2008 1:01 am    Post subject: Reply with quote

Code:

<error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>

Traceback (most recent call last):
  File "/home/gdunn/bin/pyTivo-20080327/plugins/video/video.py", line 474, in Push
    subtitle = file_info['name'])
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 44, in pushVideo
    offer_id, content_id = self.__bodyOfferModify(tsn, pc_body_id, description, duration, size, title, subtitle, url)
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 116, in __bodyOfferModify
    raise Exception(ElementTree.tostring(xml))
Exception: <error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>
[/quote]

Was there a a python dictionary on the line above that output? The http post may also be handy. It looks like there may be a problem with how I am creating the binary post data. Are there any "strange" characters in the in any of the names?
Back to top
View user's profile Send private message
gmd



Joined: 08 Jan 2008
Posts: 31

PostPosted: Fri Mar 28, 2008 1:37 am    Post subject: Reply with quote

real_armooo wrote:
Code:

<error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>

Traceback (most recent call last):
  File "/home/gdunn/bin/pyTivo-20080327/plugins/video/video.py", line 474, in Push
    subtitle = file_info['name'])
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 44, in pushVideo
    offer_id, content_id = self.__bodyOfferModify(tsn, pc_body_id, description, duration, size, title, subtitle, url)
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 116, in __bodyOfferModify
    raise Exception(ElementTree.tostring(xml))
Exception: <error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>


Was there a a python dictionary on the line above that output? The http post may also be handy. It looks like there may be a problem with how I am creating the binary post data. Are there any "strange" characters in the in any of the names?[/quote]

That was the output returned to the browser.

The console output from the post on was
Code:

send: 'POST /mind/mind7?type=bodyOfferModify&bodyId=tsn:6490001807F5DC8 HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Length: 579\r\nHost: mind.tivo.com:8181\r\nUser-Agent: Python-urllib/2.5\r\nConnection: close\r\nCookie: CAMS_SID_CAMSPRDCLUSTER_TIVOCOM=camsprdCluster-sjcamsprd01-tivocom-c965930e5b53acdf4392304a8fc5e2a842b1f027\r\nContent-Type: x-tivo/dict-binary\r\n\r\n'
send: '\x86bodyId\x01\x93tsn:6490001807F5DC8\x00\x8bdescription\x01\x9eIn a South Park homage to the 1981 film, Heavy Metal, the boys are trying to get Kenny off the latest drug craze thats captured the junior high and under set.\x00\x88duration\x01\x841305\x00\x8cencodingType\x01\x92mpeg2ProgramStream\x00\x89partnerId\x01\x8ctivo:pt.3187\x00\x88pcBodyId\x01\x92tivo:pc.1000030071\x00\x8bpublishDate\x01\x922008-03-28 01:3212\x00\x84size\x01\x89756064800\x00\x86source\x01\xc5file:/C%3A%2FDocuments%20and%20Settings%2FStephanie%2FDesktop%2FVideo\x00\x85state\x01\x88complete\x00\x88subtitle\x01\x80\x00\x85title\x01\x8dMajor Boobage\x00\x83url\x01\xd4http://192.168.1.2:9032/Television/South.Park.S12/South.Park.S12E03.DSR.XviD-0TV.avi\x00\x80'
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Fri, 28 Mar 2008 01:32:12 GMT
header: Server: Apache
header: X-requestId: mind.tivo.com:8181-1206667932002
header: Content-Length: 161
header: Connection: close
header: Content-Type: text/xml
__bodyOfferModify
{'subtitle': '', 'description': 'In a South Park homage to the 1981 film, Heavy Metal, the boys are trying to get Kenny off the latest drug craze thats captured the junior high and under set.', 'title': 'Major Boobage', 'url': 'http://192.168.1.2:9032/Television/South.Park.S12/South.Park.S12E03.DSR.XviD-0TV.avi', 'pcBodyId': 'tivo:pc.1000030071', 'bodyId': 'tsn:6490001807F5DC8', 'publishDate': '2008-03-28 01:3212', 'source': 'file:/C%3A%2FDocuments%20and%20Settings%2FStephanie%2FDesktop%2FVideo', 'state': 'complete', 'partnerId': 'tivo:pt.3187', 'duration': 1305, 'encodingType': 'mpeg2ProgramStream', 'size': 756064800}

<error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>g

192.168.1.4 - - [27/Mar/2008 21:32:13] "GET /TiVoConnect?Command=Push&Container=Television&File=%2FSouth.Park.S12%2FSouth.Park.S12E03.DSR.XviD-0TV.avi&tsn=6490001807F5DC8 HTTP/1.1" 500 -
----------------------------------------
Exception happened during processing of request from ('192.168.1.4', 54220)
Traceback (most recent call last):
  File "SocketServer.py", line 464, in process_request_thread
    self.finish_request(request, client_address)
  File "SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "SocketServer.py", line 522, in __init__
    self.handle()
  File "BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "/home/gdunn/bin/pyTivo-20080327/httpserver.py", line 85, in do_GET
    method(self, query)
  File "/home/gdunn/bin/pyTivo-20080327/plugins/video/video.py", line 474, in Push
    subtitle = file_info['name'])
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 44, in pushVideo
    offer_id, content_id = self.__bodyOfferModify(tsn, pc_body_id, description, duration, size, title, subtitle, url)
  File "/home/gdunn/bin/pyTivo-20080327/mind.py", line 116, in __bodyOfferModify
    raise Exception(ElementTree.tostring(xml))
Exception: <error><code>badArgument</code><text>IO error reading request body: java.io.IOException: unexpected type 49</text></error>
----------------------------------------

_________________
pyTivoMetaThis - metadata via python - http://trac.kurai.org/projects/pyTivoMetaThis
Back to top
View user's profile Send private message
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Fri Mar 28, 2008 2:34 am    Post subject: Reply with quote

I am willing to bet it will work if you shorten the description. It looks like I am not packing the length of strings over 127 characters correctly. I am going to guess they are using variable width ints.
Back to top
View user's profile Send private message
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Fri Mar 28, 2008 5:33 am    Post subject: Reply with quote

Ok the newest version can send strings of unlimited length. So your transfer should work.

If you want to know it is network order 7 bit data bit 8 set on the last byte.
Back to top
View user's profile Send private message
menos



Joined: 10 Feb 2008
Posts: 15

PostPosted: Sun Mar 30, 2008 3:32 am    Post subject: Reply with quote

So whats it looking like for pytivo to auto send for a directory?
Back to top
View user's profile Send private message
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Mon Mar 31, 2008 1:37 am    Post subject: Reply with quote

My computer thought friday would be a good day to die so I did not get to make any progress over the weekend.
Back to top
View user's profile Send private message
krkeegan
Site Admin


Joined: 04 Jan 2008
Posts: 458
Location: Los Angeles, CA

PostPosted: Mon Mar 31, 2008 2:42 am    Post subject: Reply with quote

aww that sucks. Were you able to get everything working again?
Back to top
View user's profile Send private message Visit poster's website
real_armooo
pyTivo Creator


Joined: 23 Mar 2008
Posts: 43

PostPosted: Mon Mar 31, 2008 4:10 am    Post subject: Reply with quote

No, for the past few months it has been very unstable. GCC and ffmpeg would segfault all the time. This past week my usb keep dieing at random.
And finally on Friday the SATA controller gave up. So my guess is that the mb went. But I did not like the prices on 939 boards with agp. So I got a new board/cpu/mem from newegg so it should be in on Wednesday/Thursday.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    pyTivo Discussion Forum Forum Index -> pyTivo All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Page 4 of 8

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Site is in NO WAY affiliated with TiVo Inc

Powered by phpBB © 2001, 2005 phpBB Group
phpBB SEO

Get pytivo at SourceForge.net. Fast, secure and Free Open Source software downloads
[ Time: 0.2469s ][ Queries: 12 (0.0141s) ][ GZIP on - Debug on ]