[RELEASE] Pneumatic

  Thread Rating:
  • 9 Votes - 4.56 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
pleo Offline
Junior Member
Posts: 2
Joined: Nov 2006
Reputation: 0
Post: #1681
(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...
find quote
Popeye Offline
Posting Freak
Posts: 922
Joined: Aug 2009
Reputation: 26
Location: Sweden
Post: #1682
(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...

sverigesradio | Pneumatic | SABnzbd | XBMC that just works - openelec
find quote
hasamba Offline
Member
Posts: 59
Joined: Sep 2012
Reputation: 0
Post: #1683
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
find quote
hasamba Offline
Member
Posts: 59
Joined: Sep 2012
Reputation: 0
Post: #1684
(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?
find quote
hasamba Offline
Member
Posts: 59
Joined: Sep 2012
Reputation: 0
Post: #1685
bump...

nothing? just ignore?
find quote
VladTepz Offline
Junior Member
Posts: 18
Joined: Aug 2012
Reputation: 0
Post: #1686
(2014-08-19 15:42)Popeye Wrote:  
(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...

I was able to get this to work, although in a rather hacky, proof-of-concept way, by manually adding the Rar Password to line 516 & 520 of the default.py

Code:
515:            for arch_rar, movie_file in zip(play_list[0::2], play_list[1::2]):
516:                        raruri = "rar://RARPASSWORD@" + utils.rarpath_fixer(folder, arch_rar) + "/" + movie_file
517:                        rar.append(raruri)
518:                        raruri = 'stack://' + ' , '.join(rar)
519:            else:
520:                raruri = "rar://RARPASSWORD@" + utils.rarpath_fixer(folder, play_list[0]) + "/" + play_list[1]
521:            uri = raruri

Still looking for a more elegant solution. hint hint... Wink

-Vlad
find quote
Post Reply