From cc36562c1757d059184cc627fe357076ea7b8fb7 Mon Sep 17 00:00:00 2001 From: lededev Date: Mon, 27 Sep 2021 01:05:24 +0800 Subject: [PATCH] add config path search order --- config.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/config.py b/config.py index 274b90c..33550fd 100644 --- a/config.py +++ b/config.py @@ -2,15 +2,29 @@ import os import sys import configparser import codecs +from pathlib import Path class Config: def __init__(self, path: str = "config.ini"): - if os.path.exists(path): + path_search_order = [ + path, + "./config.ini", + os.path.join(Path.home(), "avdc.ini"), + os.path.join(Path.home(), ".avdc.ini"), + os.path.join(Path.home(), ".avdc/config.ini"), + os.path.join(Path.home(), ".config/avdc/config.ini") + ] + ini_path = None + for p in path_search_order: + if os.path.exists(p): + ini_path = p + break + if ini_path: self.conf = configparser.ConfigParser() try: - self.conf.read(path, encoding="utf-8-sig") + self.conf.read(ini_path, encoding="utf-8-sig") except: - self.conf.read(path, encoding="utf-8") + self.conf.read(ini_path, encoding="utf-8") else: print("[-]Config file not found!") sys.exit(2)