diff --git a/utils.py b/utils.py index 01aa6e6e3923cd06dd1e1305bca1504f27549922..36c84cfa0b72884f09ddaa95a5b381459942e1e6 100644 --- a/utils.py +++ b/utils.py @@ -3,7 +3,6 @@ """EnvSetup utilities.""" from collections import OrderedDict -import os from pathlib import Path import re import subprocess @@ -84,7 +83,7 @@ def get_dir(file_path: str) -> str: :rtype: str """ - return os.path.dirname(os.path.abspath(os.path.expanduser(file_path))) + return str(Path(file_path).expanduser().resolve().parent) def exec_cmd(cmd: Any, log_output: bool = True, get_output: bool = True) -> tuple: @@ -153,14 +152,14 @@ def load_conf() -> dict: conf = {} base_dir = get_dir(__file__) files = ( - (os.path.join(base_dir, DEFAULT_CONF_PATH), True), - (os.path.join(base_dir, AUTO_CONF_PATH), False), - (os.path.join(base_dir, CONF_PATH), False), + (str(Path(base_dir, DEFAULT_CONF_PATH)), True), + (str(Path(base_dir, AUTO_CONF_PATH)), False), + (str(Path(base_dir, CONF_PATH)), False), ) only_default = True override = OrderedDict() for path, is_default in files: - if not os.path.exists(path): + if not Path(path).exists(): if is_default: log( "The configuration file '{}' does not exist.".format(path), @@ -190,7 +189,7 @@ def load_conf() -> dict: log("\033[93mWarning:\033[0m") log("The configuration is using only default values.") log("Perhaps you forget to change the configuration.") - log("Path of configuration file: %s" % os.path.join(base_dir, CONF_PATH)) + log("Path of configuration file: %s" % str(Path(base_dir, CONF_PATH))) log("Perhaps you want to quit this script to change the configuration?\n") return conf @@ -279,15 +278,15 @@ def run_commands(cmds: list): raise Exception("No target file to write in.") if ( cmd.get("backup") and - os.path.exists(cmd["target"]) and - not os.path.exists(cmd["target"] + ".back") + Path(cmd["target"]).exists() and + not Path(cmd["target"], ".back").exists() ): - os.rename(cmd["target"], cmd["target"] + ".back") + Path(cmd["target"]).rename(Path(cmd["target"], ".back")) log("A backup file has been created for:\n%s" % cmd["target"]) # Load content from template if any content = cmd.get("content", "") if cmd.get("template"): - if not os.path.exists(cmd["template"]): + if not Path(cmd["template"]).exists(): raise Exception( "Template file does not exist: %s." % cmd["template"] ) @@ -303,8 +302,8 @@ def run_commands(cmds: list): elif cmd["line"] == "backup": if not cmd.get("target"): raise Exception("No target file to backup.") - if not os.path.exists(cmd["target"] + ".back"): - os.rename(cmd["target"], cmd["target"] + ".back") + if not Path(cmd["target"], ".back").exists(): + Path(cmd["target"]).rename(Path(cmd["target"], ".back")) log("A backup file has been created for:\n%s" % cmd["target"]) else: log("A backup file already exist for:\n%s" % cmd["target"])