Guest - Testers are needed for the reworked CDateTime core component. See... https://forum.kodi.tv/showthread.php?tid=378981 (September 29) x
  • 1
  • 110
  • 111
  • 112(current)
  • 113
  • 114
  • 120
[RELEASE] Pneumatic
If you're fixing things, I still got this problem:

The sab category doesn't get set properly when using strm files with local nzb's. XBMC tends to crash if I then change my mind and want to delete the file mid download. Example of strm with local nzb:

Code:
plugin://plugin.program.pneumatic/?mode=strm&type=add_file&nzb=/media/Archiv/nzb/testfile.nzb&nzbname=testfile

If you use the newznab plugin or use remote nzb url with strm files it works as supposed to. Example of strm with remote nzb url:

Code:
plugin://plugin.program.pneumatic/?mode=strm&nzb=https%3A%2F%2Furl%2Fgetnzb%2Ftestfile.nzb%26i%3Did%26r%3Dkey&nzbname=testfile

It is quite easy for me to reproduce, force a category in settings, start a stream, press cancel, tell it to "Just download" -> local nzb, category does not get set. -> remote nzb url, category gets set.
Reply
(2014-08-16, 13:12)ursli Wrote: If you're fixing things, I still got this problem:

The sab category doesn't get set properly when using strm files with local nzb's. XBMC tends to crash if I then change my mind and want to delete the file mid download. Example of strm with local nzb:

Code:
plugin://plugin.program.pneumatic/?mode=strm&type=add_file&nzb=/media/Archiv/nzb/testfile.nzb&nzbname=testfile

If you use the newznab plugin or use remote nzb url with strm files it works as supposed to. Example of strm with remote nzb url:

Code:
plugin://plugin.program.pneumatic/?mode=strm&nzb=https%3A%2F%2Furl%2Fgetnzb%2Ftestfile.nzb%26i%3Did%26r%3Dkey&nzbname=testfile

It is quite easy for me to reproduce, force a category in settings, start a stream, press cancel, tell it to "Just download" -> local nzb, category does not get set. -> remote nzb url, category gets set.

Could you help me out by testing the follwing change? In the file sabnzbd.py https://github.com/TsUPeR/xbmc-pneumatic...lt.py#L148
change
Code:
response = SABNZBD.add_file(nzb.encode('latin-1'), category=category)
to
Code:
response = SABNZBD.add_file(nzb.encode('latin-1'), cat=category)

Cheers!
Pneumatic | SABnzbd | XBMC that just works - openelec
Reply
I'm getting a script error with that change: http://pastebin.com/PcY2Vm80

(May be user error Big Grin)
Reply
(2014-08-18, 12:10)ursli Wrote: I'm getting a script error with that change: http://pastebin.com/PcY2Vm80

(May be user error Big Grin)

No user error this time. What I can see is that the category is set to None and that will cause the error..

One more change is needed in https://github.com/TsUPeR/xbmc-pneumatic...orm.py#L11

From
Code:
cat = kwargs.get('cat', 'Default')
to
Code:
cat = kwargs.get('cat', 'Default')
if cat is None:
    cat = "Default"

Hope this works..
Pneumatic | SABnzbd | XBMC that just works - openelec
Reply
Perfect, that works as intended now, thanks for looking into it. Smile
Reply
Please bare with me. I tried to find the answer in here but didn't succeed.

I can get pneumatic to work with non-encrypted (non password protected) files, but everytime I try with encrypted files the only thing that happens is a message that ask me to clear out the failed folder yes/no. Password is preset in Sabnzbd when I start the download. The download unpacks fine with the provided password in Sabnzbd. I saw something about adding lines to utls.py but my utils.py doesn't even look like the one your referring to. Installed pneumatic version is 0.3.1 (from popeye repo). XBMC Gotham on OSX 10.9.4.

Is this just not possible or am I doing something wrong?

Thanks for your answer and this very cool plugin!
Reply
(2014-08-18, 15:13)ursli Wrote: Perfect, that works as intended now, thanks for looking into it. Smile

Excellent, I'll add the fix to next release.


(2014-08-18, 15:52)xbmosx Wrote: Please bare with me. I tried to find the answer in here but didn't succeed.

I can get pneumatic to work with non-encrypted (non password protected) files, but everytime I try with encrypted files the only thing that happens is a message that ask me to clear out the failed folder yes/no. Password is preset in Sabnzbd when I start the download. The download unpacks fine with the provided password in Sabnzbd. I saw something about adding lines to utls.py but my utils.py doesn't even look like the one your referring to. Installed pneumatic version is 0.3.1 (from popeye repo). XBMC Gotham on OSX 10.9.4.

Is this just not possible or am I doing something wrong?

Thanks for your answer and this very cool plugin!

I doubt XBMC has the ability to read through these files since Pneumatic merely provides a URI to the resource (e.g. rar://some.path/to.rar/content.mkv). If you find a way to play encrypted archives, then there might be a possibility for Pneumatic to support it.
Cheers! Big Grin
Pneumatic | SABnzbd | XBMC that just works - openelec
Reply
(2014-08-18, 15:52)xbmosx Wrote: Please bare with me. I tried to find the answer in here but didn't succeed.

I can get pneumatic to work with non-encrypted (non password protected) files, but everytime I try with encrypted files the only thing that happens is a message that ask me to clear out the failed folder yes/no. Password is preset in Sabnzbd when I start the download. The download unpacks fine with the provided password in Sabnzbd. I saw something about adding lines to utls.py but my utils.py doesn't even look like the one your referring to. Installed pneumatic version is 0.3.1 (from popeye repo). XBMC Gotham on OSX 10.9.4.

Is this just not possible or am I doing something wrong?

Thanks for your answer and this very cool plugin!

Quote:I doubt XBMC has the ability to read through these files since Pneumatic merely provides a URI to the resource (e.g. rar://some.path/to.rar/content.mkv). If you find a way to play encrypted archives, then there might be a possibility for Pneumatic to support it.
Cheers! Big Grin

thanks for clarifying. I thought you were outlining a solution in this post http://forum.xbmc.org/showthread.php?tid...pid1619888 ?

one more question though, the utils.py that gets installed when coming from popey repo (first post) or fusion seems to be different than the one on github (https://github.com/TsUPeR/xbmc-pneumatic...r/utils.py). I'm a little confused about this. are there different versions? how can I make sure I have the latest version installed?

github example:

Code:
def rar_filenames(folder, file):
log("rar_filenames: folder: %s file: %s" % (folder, file))
temp = tempfile.NamedTemporaryFile('wb', delete=False)
# read only 1024000 bytes of the remote rar
buffer = read(join(folder, file), 'rb', 1024000)
# write it local for rar inspection
temp.write(buffer)
temp_path = temp.name
temp.close()
rf = rarfile.RarFile(temp_path)
delete(temp_path)
movie_file_list = rf.namelist()
log("rar_filenames: movie_file_list: %s" % movie_file_list)
for f in rf.infolist():
if f.compress_type != 48:
notification("Compressed rar!")
log("rar_filenames: Compressed rar")
return movie_file_list


installed example:
Code:
def rar_filenames(folder, file):
    log("rar_filenames: folder: %s file: %s" % (folder, file))
    filepath = join(folder, file)
    temp_path = os.path.join(__userdata__, 'temp.rar')
    # clean out potential old temp file
    delete(temp_path)
    # read only 1024 bytes of the remote rar
    buffer = read(filepath, 'rb', 1024)
    # write it local for rar inspection
    fd_out = open(temp_path,'wb')
    fd_out.write(buffer)
    fd_out.close()
    rf = rarfile.RarFile(temp_path)
    delete(temp_path)
    movie_file_list = rf.namelist()
    log("rar_filenames: movie_file_list: %s" % movie_file_list)
    for f in rf.infolist():
        if f.compress_type != 48:
            notification("Compressed rar!")
            log("rar_filenames: Compressed rar")
    return movie_file_list
Reply
(2014-08-18, 21:35)xbmosx Wrote: thanks for clarifying. I thought you were outlining a solution in this post http://forum.xbmc.org/showthread.php?tid...pid1619888 ?

one more question though, the utils.py that gets installed when coming from popey repo (first post) or fusion seems to be different than the one on github (https://github.com/TsUPeR/xbmc-pneumatic...r/utils.py). I'm a little confused about this. are there different versions? how can I make sure I have the latest version installed?
......

Yes, I was outlining a solution but I now realized it would only work for Pneumatic, XBMC could still not read through the files (AFAIK)

Regarding the code difference. If you look at the commit history you would see that I haven't done a new release for the repo in a while. The diff will be in the next release.
Pneumatic | SABnzbd | XBMC that just works - openelec
Reply
thank you popeye. very much appreciate your work!
Reply
(2014-08-19, 12:48)xbmosx Wrote: thank you popeye. very much appreciate your work!

I just did a quick google and found that XBMC apparently supports encrypted rars. The URI is rar://passwor@file://path/to/file.rar/content.mp4 so my suggested fix might work...
Pneumatic | SABnzbd | XBMC that just works - openelec
Reply
(2014-08-15, 11:14)Popeye Wrote:
(2014-07-03, 21:46)timgt Wrote: It works fine in Gotham, even Helix which is what I am running. Just make a small change in the addon.xml file so that the python version says python version 2.1.0 and then it installs fine.

Popeye, is there any way to have Pneumatic look in the par2 file before anything else? This file is what shows what order the .rar files are in when they use the format like .10, .11, .12, etc. which are out of order.
These are the files that Pneumatic fails to find a playable file in. I'm sure it would require a lot of work but is it possible that this is the solution for the encrypted/hashed files that fail to play??

As far as I remember I looked into parsing the par2 file for getting the rar file order. However I couldn't find a clear table with nameX->nameY matches. The renaming is done once some checksum is calculated and for that the whole file needs to be present (AFAIK). Thus to get the correct order, all files has to be home and then the purpose of pneumatic is null...

This actually is possible to do without downloading every file. The trick is to use the par2 files to check the MD5 hash of the first 16KB of each file included in the parset. So, typically you need to grab the first segment of every file, rather than the whole post. I put together a proof of concept that takes an NZB, remaps the mangled names and creates a new NZB with the correct rar file names (serial and threaded versions). It is pretty quick, with the threaded version taking about a minute or two to process a 90+ rar file post using 20 nntp connections.

Some guy also wrote an NZB verification tool, which very quickly tests for the existence of each segment. These two tools, used together, can save a lot of time on downloads that otherwise would be a waste of time due to incompleteness or name mangling. Now if only SAB had these abilities integrated...
Reply
(2014-08-21, 20:06)pleo Wrote:
(2014-08-15, 11:14)Popeye Wrote:
(2014-07-03, 21:46)timgt Wrote: It works fine in Gotham, even Helix which is what I am running. Just make a small change in the addon.xml file so that the python version says python version 2.1.0 and then it installs fine.

Popeye, is there any way to have Pneumatic look in the par2 file before anything else? This file is what shows what order the .rar files are in when they use the format like .10, .11, .12, etc. which are out of order.
These are the files that Pneumatic fails to find a playable file in. I'm sure it would require a lot of work but is it possible that this is the solution for the encrypted/hashed files that fail to play??

As far as I remember I looked into parsing the par2 file for getting the rar file order. However I couldn't find a clear table with nameX->nameY matches. The renaming is done once some checksum is calculated and for that the whole file needs to be present (AFAIK). Thus to get the correct order, all files has to be home and then the purpose of pneumatic is null...

This actually is possible to do without downloading every file. The trick is to use the par2 files to check the MD5 hash of the first 16KB of each file included in the parset. So, typically you need to grab the first segment of every file, rather than the whole post. I put together a proof of concept that takes an NZB, remaps the mangled names and creates a new NZB with the correct rar file names (serial and threaded versions). It is pretty quick, with the threaded version taking about a minute or two to process a 90+ rar file post using 20 nntp connections.

Some guy also wrote an NZB verification tool, which very quickly tests for the existence of each segment. These two tools, used together, can save a lot of time on downloads that otherwise would be a waste of time due to incompleteness or name mangling. Now if only SAB had these abilities integrated...

This is something for Sabnzbd. Pneumatic have a very limited control over Sabnzbd and the API does not provide any option to only fetch a certain amount of bytes...
Pneumatic | SABnzbd | XBMC that just works - openelec
Reply
did someone was able to bypass the "malformed error"?
popeye, can you please fix it? if not, can you please answer and tell us why not?

thanks
Reply
(2014-09-13, 14:22)hasamba Wrote: did someone was able to bypass the "malformed error"?
popeye, can you please fix it? if not, can you please answer and tell us why not?

thanks

popeye, can we get any comment please?
Reply
  • 1
  • 110
  • 111
  • 112(current)
  • 113
  • 114
  • 120

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Pneumatic11