From 9b28fff338284db1dc394e47932fbb705b26a35e Mon Sep 17 00:00:00 2001 From: clinton-hall Date: Thu, 13 Nov 2014 15:39:49 +1030 Subject: [PATCH] add folder permissions for sub directories. Fixes #609 --- nzbtomedia/extractor/extractor.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nzbtomedia/extractor/extractor.py b/nzbtomedia/extractor/extractor.py index a7f29f3a..54292787 100644 --- a/nzbtomedia/extractor/extractor.py +++ b/nzbtomedia/extractor/extractor.py @@ -1,6 +1,7 @@ import os import platform import shutil +import stat from time import sleep import nzbtomedia from subprocess import call, Popen @@ -90,7 +91,10 @@ def extract(filePath, outputDestination): nzbtomedia.logger.debug("Extracting %s %s %s" % (cmd, filePath, outputDestination)) origFiles = [] + origDirs = [] for dir, subdirs, files in os.walk(outputDestination): + for subdir in subdirs: + origDirs.append(os.path.join(dir, subdir)) for file in files: origFiles.append(os.path.join(dir, file)) @@ -136,7 +140,13 @@ def extract(filePath, outputDestination): if success: # sleep to let files finish writing to disk sleep (3) + perms = oct(stat.S_IMODE(os.lstat(filePath).st_mode)) for dir, subdirs, files in os.walk(outputDestination): + for subdir in subdirs: + if not os.path.join(dir, subdir) in origFiles: + try: + os.chmod(os.path.join(dir, file), perms) + except: pass for file in files: if not os.path.join(dir, file) in origFiles: try: