mspieth / rssdler

Automatically exported from code.google.com/p/rssdler
4 stars 0 forks source link

crashes on torrents hosted at kickasstorrents.com #67

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1.run rssdler on a rss that contains a torrent hosted by kickasstorrents.com

What is the expected output? What do you see instead?
here is the output

DEBUG unQuoteReQuote 
http://www.kickasstorrents.com/torrents/greys-anatomy-s07e03-hdtv-xvid-2hd-t4529
397/
DEBUG checking regExTrue on Greys Anatomy 7x3 [HDTV - 2HD]
DEBUG encoding url 
http://www.kickasstorrents.com/torrents/greys-anatomy-s07e03-hdtv-xvid-2hd-t4529
397/
DEBUG testing cookieFile settings
DEBUG attempting to load cookie type: MozillaCookieJar
DEBUG cookies loaded
DEBUG building and installing mech opener without cookies
DEBUG grabbing page at url 
http://www.kickasstorrents.com/torrents/greys-anatomy-s07e03-hdtv-xvid-2hd-t4529
397/
DEBUG determining filename
DEBUG filename from url
DEBUG determining size of file
CRITICAL 2115 Unexpected Error: Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2112, in main
    run()
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2082, in run
    rssparse(key)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 1985, in rssparse
    userFunctArgs = downloadFile(ppage['entries'][i]['link'], tName, ppage['entries'][i], dirDict)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 810, in downloadFile
    size, data2 = getFileSize(data.info(), data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 660, in getFileSize
    try: tparse = bdecode(data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 942, in bdecode
    x = open(x, 'r').read()
TypeError: file() argument 1 must be encoded string without NULL bytes, not str

Traceback (most recent call last):
  File "/usr/local/bin/rssdler", line 13, in <module>
    rssdler._main(sys.argv)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2339, in _main
    main()
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2112, in main
    run()
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2082, in run
    rssparse(key) 
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 1985, in rssparse
    userFunctArgs = downloadFile(ppage['entries'][i]['link'], tName, ppage['entries'][i], dirDict)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 810, in downloadFile
    size, data2 = getFileSize(data.info(), data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 660, in getFileSize
    try: tparse = bdecode(data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 942, in bdecode
    x = open(x, 'r').read()
TypeError: file() argument 1 must be encoded string without NULL bytes, not str

then it crashes
What version of the product are you using? On what operating system?
0.4.2 on linux

Please provide any additional information below.
--purge-failed does not remove these torrents. Every time I run it ether as a 
daemon or manually it crashes as soon as it finds this torrent.

Original issue reported on code.google.com by lsell...@gmail.com on 1 Dec 2011 at 3:46

GoogleCodeExporter commented 8 years ago
I don't know if this could be the cause of the error, but I noticed every 
torrent thats hosted on the site has a name prefix with brackets in it 
[kat.ph]nameoftorrent.torrent 

Original comment by lsell...@gmail.com on 2 Dec 2011 at 2:26

GoogleCodeExporter commented 8 years ago
I just remembered I patch rssdler with the patch from issue #62 its been 
working fine until a week or two ago. I'll try removing the patch to narrow 
things down.

Original comment by lsell...@gmail.com on 2 Dec 2011 at 3:03

GoogleCodeExporter commented 8 years ago
I removed the patch from rssdler and reran. It still crashes when I hit a 
torrent hosted on kickasstorrents.com

DEBUG encoding url 
http://www.kickasstorrents.com/torrents/greys-anatomy-s07e03-hdtv-xvid-2hd-t4529
397/
DEBUG testing cookieFile settings
DEBUG attempting to load cookie type: MozillaCookieJar
DEBUG cookies loaded
DEBUG building and installing mech opener without cookies
DEBUG grabbing page at url 
http://www.kickasstorrents.com/torrents/greys-anatomy-s07e03-hdtv-xvid-2hd-t4529
397/
DEBUG determining filename
DEBUG filename from url
DEBUG getting extension from content-type header
DEBUG never guessed filename, just setting it to the time
DEBUG determining size of file
CRITICAL 2082 Unexpected Error: Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2079, in main
    run()
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2049, in run
    rssparse(key)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 1952, in rssparse
    userFunctArgs = downloadFile(ppage['entries'][i]['link'], tName, ppage['entries'][i], dirDict)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 784, in downloadFile
    size, data2 = getFileSize(data.info(), data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 634, in getFileSize
    try: tparse = bdecode(data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 916, in bdecode
    x = open(x, 'r').read()
TypeError: file() argument 1 must be encoded string without NULL bytes, not str

Traceback (most recent call last):
  File "/usr/local/bin/rssdler", line 13, in <module>
    rssdler._main(sys.argv)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2306, in _main
    main()
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2079, in main
    run()
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 2049, in run
    rssparse(key) 
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 1952, in rssparse
    userFunctArgs = downloadFile(ppage['entries'][i]['link'], tName, ppage['entries'][i], dirDict)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 784, in downloadFile
    size, data2 = getFileSize(data.info(), data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 634, in getFileSize
    try: tparse = bdecode(data)
  File "/usr/local/lib/python2.6/dist-packages/rssdler.py", line 916, in bdecode
    x = open(x, 'r').read()
TypeError: file() argument 1 must be encoded string without NULL bytes, not str

Original comment by lsell...@gmail.com on 2 Dec 2011 at 4:25

GoogleCodeExporter commented 8 years ago
I experience the same issue with and without the patch my output is similar:
========================

INFO --- RSSDler 0.4.2
DEBUG writing daemonInfo
INFO [Waking up] Sat Feb 25 13:49:24 2012
DEBUG checking working dir, maybe changing dir
INFO Scanning previously failed downloads
INFO   Attempting to download 
http://www.kat.ph/torrents/futurama-s06e20-all-the-presidents-heads-hdtv-xvid-fq
m-t5695487/
DEBUG encoding url 
http://www.kat.ph/torrents/futurama-s06e20-all-the-presidents-heads-hdtv-xvid-fq
m-t5695487/
DEBUG testing cookieFile settings
DEBUG no cookie file configured
DEBUG building and installing mech opener without cookies
DEBUG grabbing page at url 
http://www.kat.ph/torrents/futurama-s06e20-all-the-presidents-heads-hdtv-xvid-fq
m-t5695487/
DEBUG determining filename
DEBUG filename from url
DEBUG determining size of file
CRITICAL 2115 Unexpected Error: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 2112, in main
    run()
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 2071, in run
    if downloadFile( **getSaved().failedDown[i] ):
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 810, in downloadFile
    size, data2 = getFileSize(data.info(), data)
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 660, in getFileSize
    try: tparse = bdecode(data)
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 942, in bdecode
    x = open(x, 'r').read()
TypeError: file() argument 1 must be encoded string without NULL bytes, not str

Traceback (most recent call last):
  File "/usr/bin/rssdler", line 13, in <module>
    rssdler._main(sys.argv)
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 2339, in _main
    main()
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 2112, in main
    run()
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 2071, in run
    if downloadFile( **getSaved().failedDown[i] ):
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 810, in downloadFile
    size, data2 = getFileSize(data.info(), data)
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 660, in getFileSize
    try: tparse = bdecode(data)
  File "/usr/lib/python2.7/site-packages/rssdler.py", line 942, in bdecode
    x = open(x, 'r').read()
TypeError: file() argument 1 must be encoded string without NULL bytes, not str

> /usr/lib/python2.7/site-packages/rssdler.py(942)bdecode()
-> x = open(x, 'r').read()
========================

Appreciate if anyone can take a look in the code and fix this :)

P.S I set nameFromRedirect = True with patch from #62

Original comment by oz.tam...@gmail.com on 25 Feb 2012 at 11:52