Skip to content

Commit 70e02b4

Browse files
author
jrelax
committed
fixes
1 parent 286876d commit 70e02b4

File tree

4 files changed

+26
-19
lines changed

4 files changed

+26
-19
lines changed

.dockerignore

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ Dockerfile
44
LICENSE
55
logo
66
README.md
7+
config.yml

Dockerfile

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ ENV PROCESSDIR=/config/process
66
ENV SHOWSDIR=/config/shows
77
ENV MOVIESDIR=/config/movies
88
ENV COLLECTIONSDIR=/config/collections
9+
ENV FAILEDDIR=/config/failed
10+
ENV BACKUPDIR=/config/backup
11+
ENV ENABLE_BACKUP=false
912
COPY requirements.txt requirements.txt
1013
RUN echo "**** install system packages ****" \
1114
&& apt-get update \
@@ -22,6 +25,7 @@ RUN echo "**** install system packages ****" \
2225
&& apt-get -f install \
2326
&& apt-get autoclean \
2427
&& rm -rf /requirements.txt /tmp/* /var/tmp/* /var/lib/apt/lists/*
28+
RUN mkdir -p /config /config/process /config/shows /config/movies /config/collections /config/failed /config/backup
2529
COPY . /
2630
VOLUME /config
2731
ENTRYPOINT ["/tini", "-s", "python3", "asset-assistant.py", "--"]

asset-assistant.py

+18-19
Original file line numberDiff line numberDiff line change
@@ -58,46 +58,48 @@ def print_banner(version):
5858
try:
5959
with open(config_path, 'r') as f:
6060
config = yaml.safe_load(f)
61-
logger.info(f" Loading {config_path}...")
62-
logger.info(" Config loaded successfully")
63-
logger.separator(text="Config", space=False, border=False, debug=True)
64-
break # Exit loop if config loaded successfully
61+
logger.info(f" Configuration loaded from {config_path}")
62+
break
6563
except FileNotFoundError:
66-
continue # Try next path if file not found
64+
continue
6765

6866
## load config from ENV VARS ##
6967
def load_config_from_env():
7068
"""Load configuration from environment variables with defaults."""
7169
return {
72-
'process_dir': os.getenv('PROCESSDIR', '/config/process'),
73-
'shows_dir': os.getenv('SHOWSDIR', '/config/shows'),
74-
'movies_dir': os.getenv('MOVIESDIR', '/config/movies'),
75-
'collections_dir': os.getenv('COLLECTIONSDIR', '/config/collections'),
70+
'process': os.getenv('PROCESSDIR', '/config/process'),
71+
'shows': os.getenv('SHOWSDIR', '/config/shows'),
72+
'movies': os.getenv('MOVIESDIR', '/config/movies'),
73+
'collections': os.getenv('COLLECTIONSDIR', '/config/collections'),
74+
'failed': os.getenv('FAILEDDIR', '/config/failed'),
75+
'backup': os.getenv('BACKUPDIR', '/config/backup'),
76+
'enable_backup': os.getenv('ENABLE_BACKUP', 'false').lower() == 'true',
7677
'discord_webhook': os.getenv('DISCORD_WEBHOOK', ''),
7778
'discord_enabled': os.getenv('DISCORD_ENABLED', 'false').lower() == 'true',
7879
'debug': os.getenv('DEBUG', 'false').lower() == 'true'
7980
}
8081

8182

8283
if config is None:
83-
logger.warning(" Config file not found. Tried: {', '.join(config_paths)}")
84+
logger.warning(f" Config file not found. Tried: {', '.join(config_paths)}")
8485
logger.info(" Falling back to environment variables...")
8586
config = load_config_from_env()
86-
if not config.get('process_dir'):
87-
logger.error(" No configuration found in files or environment")
88-
logger.error(f" Current directory: {os.path.dirname(os.path.abspath(__file__))}")
89-
sys.exit(1)
9087
logger.info(" Configuration loaded from environment variables")
9188

89+
if config is None:
90+
logger.error(" No configuration found in files or environment")
91+
logger.error(f" Current directory: {os.getcwd()}")
92+
sys.exit(1)
93+
9294
## paths ##
9395
process_dir = config['process']
9496
movies_dir = config['movies']
9597
shows_dir = config['shows']
9698
collections_dir = config['collections']
9799
script_dir = os.path.dirname(os.path.abspath(__file__))
98-
failed_dir = os.path.join(script_dir, 'failed')
100+
failed_dir = config['failed']
101+
backup_dir = config['backup']
99102
backup_enabled = config.get('enable_backup', False)
100-
backup_dir = os.path.join(script_dir, 'backup')
101103
service = config.get('service', None)
102104
plex_specials = config.get('plex_specials', None)
103105

@@ -319,7 +321,6 @@ def copy_and_rename(filename, category, season_number, episode_number, movies_di
319321
directory = None
320322

321323
if category == 'movie' or category == 'show':
322-
# Movie and show handling - no changes needed
323324
directory = movies_dir if category == 'movie' else shows_dir
324325
for dir_name in os.listdir(directory):
325326
if filename.split('.')[0].lower() in dir_name.lower():
@@ -337,7 +338,6 @@ def copy_and_rename(filename, category, season_number, episode_number, movies_di
337338
return category
338339

339340
elif category == 'collection':
340-
# Collection handling - no changes needed
341341
directory = collections_dir
342342
for dir_name in os.listdir(directory):
343343
if filename.split('.')[0].lower().replace("collection", "").strip() in dir_name.lower():
@@ -356,7 +356,6 @@ def copy_and_rename(filename, category, season_number, episode_number, movies_di
356356

357357
# Service-specific handling
358358
elif service == 'kometa':
359-
# Kometa handling - no changes needed
360359
if category == 'season':
361360
directory = shows_dir
362361
for dir_name in os.listdir(directory):

config.yml

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ process: /path/to/process/directory
33
shows: /path/to/shows/directory
44
movies: /path/to/movies/directory
55
collections: /path/to/collections/directory
6+
failed: /path/to/failed/directory
7+
logs: /path/to/logs/directory
8+
backup: /path/to/backup/directory
69

710
## Settings ##
811
enable_backup: # true or false, false by default

0 commit comments

Comments
 (0)