mirror of
https://github.com/meeb/tubesync.git
synced 2025-06-26 06:56:36 +00:00
commit
cf1aec6922
@ -514,35 +514,10 @@ class Source(models.Model):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def type_directory_path(self):
|
def type_directory_path(self):
|
||||||
# Get the directory mode from the environment
|
if self.source_resolution == self.SOURCE_RESOLUTION_AUDIO:
|
||||||
directory_mode = os.getenv("TUBESYNC_DIRECTORY_MODE", "default")
|
return Path(settings.DOWNLOAD_AUDIO_DIR) / self.directory
|
||||||
|
|
||||||
# Default behavior
|
|
||||||
if directory_mode == "default":
|
|
||||||
if self.source_resolution == self.SOURCE_RESOLUTION_AUDIO:
|
|
||||||
return Path(settings.DOWNLOAD_AUDIO_DIR) / self.directory
|
|
||||||
else:
|
|
||||||
return Path(settings.DOWNLOAD_VIDEO_DIR) / self.directory
|
|
||||||
|
|
||||||
# Flat mode - Place all files in the root
|
|
||||||
elif directory_mode == "flat":
|
|
||||||
return Path(settings.DOWNLOAD_DIR) / self.directory
|
|
||||||
|
|
||||||
# Custom mode - Parse prefixes for audio and video
|
|
||||||
elif directory_mode.startswith("custom:"):
|
|
||||||
try:
|
|
||||||
audio_prefix, video_prefix = directory_mode.split(":")[1].split(",")
|
|
||||||
except ValueError:
|
|
||||||
raise ValueError("Invalid format for TUBESYNC_DIRECTORY_MODE=custom. Expected 'custom:audio_prefix,video_prefix'.")
|
|
||||||
|
|
||||||
if self.source_resolution == self.SOURCE_RESOLUTION_AUDIO:
|
|
||||||
return Path(settings.DOWNLOAD_DIR) / audio_prefix / self.directory
|
|
||||||
else:
|
|
||||||
return Path(settings.DOWNLOAD_DIR) / video_prefix / self.directory
|
|
||||||
|
|
||||||
# Fallback for invalid modes
|
|
||||||
else:
|
else:
|
||||||
raise ValueError(f"Unsupported TUBESYNC_DIRECTORY_MODE: {directory_mode}")
|
return Path(settings.DOWNLOAD_VIDEO_DIR) / self.directory
|
||||||
|
|
||||||
def make_directory(self):
|
def make_directory(self):
|
||||||
return os.makedirs(self.directory_path, exist_ok=True)
|
return os.makedirs(self.directory_path, exist_ok=True)
|
||||||
|
@ -112,6 +112,19 @@ DOWNLOAD_VIDEO_DIR = 'video'
|
|||||||
DOWNLOAD_AUDIO_DIR = 'audio'
|
DOWNLOAD_AUDIO_DIR = 'audio'
|
||||||
SASS_PROCESSOR_ROOT = STATIC_ROOT
|
SASS_PROCESSOR_ROOT = STATIC_ROOT
|
||||||
|
|
||||||
|
directory_mode = os.getenv('TUBESYNC_DIRECTORY_MODE', 'default')
|
||||||
|
if directory_mode == 'flat':
|
||||||
|
DOWNLOAD_VIDEO_DIR = '.'
|
||||||
|
DOWNLOAD_AUDIO_DIR = '.'
|
||||||
|
elif directory_mode.startswith('custom:'):
|
||||||
|
custom_value = directory_mode.split(':', maxsplit=1)[1]
|
||||||
|
if ',' in custom_value:
|
||||||
|
DOWNLOAD_AUDIO_DIR, DOWNLOAD_VIDEO_DIR = custom_value.split(',', maxsplit=1)
|
||||||
|
else:
|
||||||
|
raise ValueError("Invalid format for TUBESYNC_DIRECTORY_MODE=custom. Expected 'custom:audio_prefix,video_prefix'.")
|
||||||
|
elif directory_mode not in ('', 'default'):
|
||||||
|
raise ValueError(f"Unsupported TUBESYNC_DIRECTORY_MODE: {directory_mode}")
|
||||||
|
|
||||||
|
|
||||||
ROBOTS = '''
|
ROBOTS = '''
|
||||||
User-agent: *
|
User-agent: *
|
||||||
|
Loading…
Reference in New Issue
Block a user