|
|
@ -546,12 +546,13 @@ class PathFormat():
|
|
|
|
self.delete = False
|
|
|
|
self.delete = False
|
|
|
|
self.path = self.realpath = self.temppath = ""
|
|
|
|
self.path = self.realpath = self.temppath = ""
|
|
|
|
|
|
|
|
|
|
|
|
self.basedirectory = expand_path(
|
|
|
|
basedir = expand_path(
|
|
|
|
extractor.config("base-directory", (".", "gallery-dl")))
|
|
|
|
extractor.config("base-directory", (".", "gallery-dl")))
|
|
|
|
if os.altsep and os.altsep in self.basedirectory:
|
|
|
|
if os.altsep and os.altsep in basedir:
|
|
|
|
self.basedirectory = self.basedirectory.replace(os.altsep, os.sep)
|
|
|
|
basedir = basedir.replace(os.altsep, os.sep)
|
|
|
|
if self.basedirectory[-1] != os.sep:
|
|
|
|
if basedir[-1] != os.sep:
|
|
|
|
self.basedirectory += os.sep
|
|
|
|
basedir += os.sep
|
|
|
|
|
|
|
|
self.basedirectory = basedir
|
|
|
|
|
|
|
|
|
|
|
|
restrict = extractor.config("path-restrict", "auto")
|
|
|
|
restrict = extractor.config("path-restrict", "auto")
|
|
|
|
if restrict == "auto":
|
|
|
|
if restrict == "auto":
|
|
|
@ -616,18 +617,17 @@ class PathFormat():
|
|
|
|
raise exception.FormatError(exc, "directory")
|
|
|
|
raise exception.FormatError(exc, "directory")
|
|
|
|
|
|
|
|
|
|
|
|
# Join path segements
|
|
|
|
# Join path segements
|
|
|
|
directory = self.clean_path(
|
|
|
|
sep = os.sep
|
|
|
|
self.basedirectory + os.sep.join(segments))
|
|
|
|
directory = self.clean_path(self.basedirectory + sep.join(segments))
|
|
|
|
|
|
|
|
|
|
|
|
# Remove trailing path separator;
|
|
|
|
# Ensure directory ends with a path separator
|
|
|
|
# occurs if the last segment is an empty string
|
|
|
|
if directory[-1] != sep:
|
|
|
|
if directory[-1] == os.sep:
|
|
|
|
directory += sep
|
|
|
|
directory = directory[:-1]
|
|
|
|
|
|
|
|
self.directory = directory
|
|
|
|
self.directory = directory
|
|
|
|
|
|
|
|
|
|
|
|
# Enable longer-than-260-character paths on Windows
|
|
|
|
# Enable longer-than-260-character paths on Windows
|
|
|
|
if os.name == "nt":
|
|
|
|
if os.name == "nt":
|
|
|
|
self.realdirectory = "\\\\?\\" + os.path.abspath(directory)
|
|
|
|
self.realdirectory = "\\\\?\\" + os.path.abspath(directory) + sep
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
self.realdirectory = directory
|
|
|
|
self.realdirectory = directory
|
|
|
|
|
|
|
|
|
|
|
@ -664,13 +664,12 @@ class PathFormat():
|
|
|
|
|
|
|
|
|
|
|
|
# Apply 'kwdict' to filename format string
|
|
|
|
# Apply 'kwdict' to filename format string
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
self.filename = self.clean_path(self.clean_segment(
|
|
|
|
self.filename = filename = self.clean_path(self.clean_segment(
|
|
|
|
self.filename_formatter(self.kwdict)))
|
|
|
|
self.filename_formatter(self.kwdict)))
|
|
|
|
except Exception as exc:
|
|
|
|
except Exception as exc:
|
|
|
|
raise exception.FormatError(exc, "filename")
|
|
|
|
raise exception.FormatError(exc, "filename")
|
|
|
|
|
|
|
|
|
|
|
|
# Combine directory and filename to full paths
|
|
|
|
# Combine directory and filename to full paths
|
|
|
|
filename = os.sep + self.filename
|
|
|
|
|
|
|
|
self.path = self.directory + filename
|
|
|
|
self.path = self.directory + filename
|
|
|
|
self.realpath = self.realdirectory + filename
|
|
|
|
self.realpath = self.realdirectory + filename
|
|
|
|
if not self.temppath:
|
|
|
|
if not self.temppath:
|
|
|
|