diff --git a/classes.py b/classes.py index b7b4a87..c58b7e0 100644 --- a/classes.py +++ b/classes.py @@ -26,17 +26,16 @@ else: if Path(f"themes/{config.theme}/templates").exists(): # Use the templates from the initialized site instance and the installed theme jinja_env_dir = f"themes/{config.theme}/templates" - print("USING LOCALLY INITIALIZED THEMES") + logger.debug(f"Using locally initialized templates from {jinja_env_dir}") else: # Use default templates from the default theme shipped with the app # i.e. PyInstaller-packed single executable - print("USING DEFAULT THEMES") + logger.debug("Using shipped default temlpates.") jinja_env_dir = f"{base_dir}/themes/default/templates" env = Environment(loader=FileSystemLoader(f"{jinja_env_dir}")) env.globals['header_image'] = f"{base_dir}/themes/{config.theme}/static/images/header.jpg" index_template = env.get_template("index.html") content_item_template = env.get_template("content_item.html") -print(env.loader.searchpath) class ContentItem: def render_content(self, categories, target_file = False): @@ -120,7 +119,11 @@ class Site: self.categories = defaultdict(list) def init_site(self): + if os.path.isdir('.') and os.listdir('.'): + logger.error("Current directory is not empty.") + sys.exit(1) logger.info("Initializing new site") + config.create_default_config() # Create directories for subdir in [self.content_dir]: os.makedirs(subdir, exist_ok=True) diff --git a/config.py b/config.py index f7a65e0..ae80c5a 100644 --- a/config.py +++ b/config.py @@ -26,13 +26,12 @@ class Config: self.header_image = 'static/header.jpg' self.site_name = f"{self.app_name} library" self.theme = "default" + self.debug = False if os.path.isfile (self.config_path): with open(self.config_path, "r") as f: config = yaml.safe_load(f) if config: self.update_from_dict(config) - else: - self.create_default_config() def update_from_dict(self, config_dict): for key, value in config_dict.items(): @@ -44,7 +43,8 @@ class Config: def create_default_config(self): defaults = { "site_name": self.site_name, - "theme": "default" + "theme": "default", + "debug": False } with open(self.config_path, mode="w", encoding="utf-8") as f: yaml.safe_dump(defaults, f) diff --git a/config.yml b/config.yml index 88a8282..cdd8175 100644 --- a/config.yml +++ b/config.yml @@ -1,2 +1,3 @@ +debug: false site_name: microgen library theme: default diff --git a/logger.py b/logger.py index 4e1f7f7..e1722b1 100644 --- a/logger.py +++ b/logger.py @@ -5,6 +5,8 @@ from config import config LOG_TO = sys.stdout LOG_LEVEL = logging.INFO +if config.debug == True: + LOG_LEVEL = logging.DEBUG logger = logging.getLogger(config.app_name) logger.setLevel(LOG_LEVEL)