From ecad4d39eb69d0c09c7a11d5bf8848b2add627b7 Mon Sep 17 00:00:00 2001 From: Ade Date: Sat, 21 Apr 2018 11:02:21 +1200 Subject: [PATCH] Get Original Folder from Temp directory Fixes #3109 --- headphones/helpers.py | 4 ++-- headphones/metadata.py | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/headphones/helpers.py b/headphones/helpers.py index acc64fd3..d283e90a 100644 --- a/headphones/helpers.py +++ b/headphones/helpers.py @@ -669,9 +669,9 @@ def preserve_torrent_directory(albumpath, forced=False, single=False): try: file_name = os.path.basename(os.path.normpath(albumpath)) if not single: - prefix = "headphones_" + file_name + "_" + prefix = "headphones_" + file_name + "_@hp@_" else: - prefix = "headphones_" + os.path.splitext(file_name)[0] + "_" + prefix = "headphones_" + os.path.splitext(file_name)[0] + "_@hp@_" new_folder = tempfile.mkdtemp(prefix=prefix, dir=tempdir) except Exception as e: logger.error("Cannot create temp directory: " + tempdir.decode( diff --git a/headphones/metadata.py b/headphones/metadata.py index f5ddf4bc..c8797801 100644 --- a/headphones/metadata.py +++ b/headphones/metadata.py @@ -289,13 +289,19 @@ def album_metadata(path, release, common_tags): first_char = sort_name[0] orig_folder = u'' - for r, d, f in os.walk(path): - try: - orig_folder = os.path.basename( - os.path.normpath(r).decode(headphones.SYS_ENCODING, 'replace')) - break - except: - pass + + # Get from temp path + if "_@hp@_" in path: + orig_folder = path.rsplit("headphones_", 1)[1].split("_@hp@_")[0] + orig_folder = orig_folder.decode(headphones.SYS_ENCODING, 'replace') + else: + for r, d, f in os.walk(path): + try: + orig_folder = os.path.basename( + os.path.normpath(r).decode(headphones.SYS_ENCODING, 'replace')) + break + except: + pass override_values = { Vars.ARTIST: artist,