From b63ff3c96274674e4c4fd72df4f690a421c59ba0 Mon Sep 17 00:00:00 2001 From: clinton-hall Date: Fri, 11 Apr 2014 17:05:07 +0930 Subject: [PATCH] added option to remove read only flags in windows. fixes #317 --- TorrentToMedia.py | 3 +++ nzbtomedia/nzbToMediaUtil.py | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/TorrentToMedia.py b/TorrentToMedia.py index be254d21..76f6dbd9 100755 --- a/TorrentToMedia.py +++ b/TorrentToMedia.py @@ -158,6 +158,9 @@ def main(inputDirectory, inputName, inputCategory, inputHash, inputID): if not inputCategory in noFlatten: #don't flatten hp in case multi cd albums, and we need to copy this back later. flatten(outputDestination) + if os.name == 'nt': # remove Read Only flag from files in Windows. + remove_read_only(outputDestination) + # Now check if video files exist in destination: if config().issubsection(inputCategory,["SickBeard","NzbDrone","CouchPotato"]): for dirpath, dirnames, filenames in os.walk(outputDestination): diff --git a/nzbtomedia/nzbToMediaUtil.py b/nzbtomedia/nzbToMediaUtil.py index 909c3e27..33c08433 100644 --- a/nzbtomedia/nzbToMediaUtil.py +++ b/nzbtomedia/nzbToMediaUtil.py @@ -205,12 +205,20 @@ def removeEmptyFolders(path): Logger.debug("REMOVER: Removing empty folder: %s", path) os.rmdir(path) +def remove_read_only(path): + if not os.path.isdir(path): + return + for dirpath, dirnames, filenames in os.walk(path): + for filename in filenames: + Logger.debug("Removing Read Only Flag for: %s", filename) + os.chmod(os.path.join(dirpath, filename), stat.S_IWRITE) + def iterate_media_files(dirname): mediaContainer = [ '.mkv', '.avi', '.divx', '.xvid', '.mov', '.wmv', '.mp4', '.mpg', '.mpeg', '.iso' ] - for dirpath, dirnames, filesnames in os.walk(dirname): - for filename in filesnames: + for dirpath, dirnames, filenames in os.walk(dirname): + for filename in filenames: fileExtension = os.path.splitext(filename)[1] if not (fileExtension in mediaContainer): continue