optimize 'base-directory' initialization and usage
apply 'clean_path()' only once
This commit is contained in:
@@ -804,19 +804,6 @@ class PathFormat():
|
|||||||
self.path = self.realpath = self.temppath = ""
|
self.path = self.realpath = self.temppath = ""
|
||||||
self.delete = self._create_directory = False
|
self.delete = self._create_directory = False
|
||||||
|
|
||||||
basedir = extractor._parentdir
|
|
||||||
if not basedir:
|
|
||||||
basedir = config("base-directory")
|
|
||||||
if basedir is None:
|
|
||||||
basedir = "." + os.sep + "gallery-dl" + os.sep
|
|
||||||
elif basedir:
|
|
||||||
basedir = expand_path(basedir)
|
|
||||||
if os.altsep and os.altsep in basedir:
|
|
||||||
basedir = basedir.replace(os.altsep, os.sep)
|
|
||||||
if basedir[-1] != os.sep:
|
|
||||||
basedir += os.sep
|
|
||||||
self.basedirectory = basedir
|
|
||||||
|
|
||||||
extension_map = config("extension-map")
|
extension_map = config("extension-map")
|
||||||
if extension_map is None:
|
if extension_map is None:
|
||||||
extension_map = self.EXTENSION_MAP
|
extension_map = self.EXTENSION_MAP
|
||||||
@@ -837,6 +824,22 @@ class PathFormat():
|
|||||||
remove = config("path-remove", "\x00-\x1f\x7f")
|
remove = config("path-remove", "\x00-\x1f\x7f")
|
||||||
self.clean_path = self._build_cleanfunc(remove, "")
|
self.clean_path = self._build_cleanfunc(remove, "")
|
||||||
|
|
||||||
|
basedir = extractor._parentdir
|
||||||
|
if not basedir:
|
||||||
|
basedir = config("base-directory")
|
||||||
|
sep = os.sep
|
||||||
|
if basedir is None:
|
||||||
|
basedir = "." + sep + "gallery-dl" + sep
|
||||||
|
elif basedir:
|
||||||
|
basedir = expand_path(basedir)
|
||||||
|
altsep = os.altsep
|
||||||
|
if altsep and altsep in basedir:
|
||||||
|
basedir = basedir.replace(altsep, sep)
|
||||||
|
if basedir[-1] != sep:
|
||||||
|
basedir += sep
|
||||||
|
basedir = self.clean_path(basedir)
|
||||||
|
self.basedirectory = basedir
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _build_cleanfunc(chars, repl):
|
def _build_cleanfunc(chars, repl):
|
||||||
if not chars:
|
if not chars:
|
||||||
@@ -885,10 +888,10 @@ class PathFormat():
|
|||||||
|
|
||||||
segments = self.build_directory(kwdict)
|
segments = self.build_directory(kwdict)
|
||||||
if segments:
|
if segments:
|
||||||
self.directory = directory = self.clean_path(
|
self.directory = directory = self.basedirectory + self.clean_path(
|
||||||
self.basedirectory + sep.join(segments) + sep)
|
sep.join(segments) + sep)
|
||||||
else:
|
else:
|
||||||
self.directory = directory = self.clean_path(self.basedirectory)
|
self.directory = directory = self.basedirectory
|
||||||
|
|
||||||
if WINDOWS:
|
if WINDOWS:
|
||||||
# Enable longer-than-260-character paths on Windows
|
# Enable longer-than-260-character paths on Windows
|
||||||
|
|||||||
Reference in New Issue
Block a user