From 9ca0d6b0a95561ee8c71a6e3c4e815a4b0a6daeb Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 2 Aug 2022 08:48:48 +0200 Subject: [PATCH] Remove os usage in common (#3459) * make sure STATIC_COLOR_THEMES_DIR resolves * remove usage of os module for file operations --- InvenTree/InvenTree/settings.py | 2 +- InvenTree/common/models.py | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 4f763b0089..44633456e7 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -127,7 +127,7 @@ STATFILES_I18_PROCESSORS = [ ] # Color Themes Directory -STATIC_COLOR_THEMES_DIR = STATIC_ROOT.joinpath('css', 'color-themes') +STATIC_COLOR_THEMES_DIR = STATIC_ROOT.joinpath('css', 'color-themes').resolve() # Web URL endpoint for served media files MEDIA_URL = '/media/' diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 88fa405b1e..e9ea5c181f 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -10,7 +10,6 @@ import hmac import json import logging import math -import os import uuid from datetime import datetime, timedelta from enum import Enum @@ -1775,15 +1774,15 @@ class ColorTheme(models.Model): @classmethod def get_color_themes_choices(cls): """Get all color themes from static folder.""" - if not os.path.exists(settings.STATIC_COLOR_THEMES_DIR): + if not settings.STATIC_COLOR_THEMES_DIR.exists(): logger.error('Theme directory does not exsist') return [] # Get files list from css/color-themes/ folder files_list = [] - for file in os.listdir(settings.STATIC_COLOR_THEMES_DIR): - files_list.append(os.path.splitext(file)) + for file in settings.STATIC_COLOR_THEMES_DIR.iterdir(): + files_list.append(file.stem) # Get color themes choices (CSS sheets) choices = [(file_name.lower(), _(file_name.replace('-', ' ').title()))