summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorgy Frolov <gosha@fro.lv>2021-01-17 15:38:32 +0300
committerGeorgy Frolov <gosha@fro.lv>2021-01-17 15:38:32 +0300
commit16630be5ab83a8a72176a4f4d6a85860d30a8238 (patch)
treec5c6c92621250b1b0e7bd272c6648836c7dd4d9c
parentf4d87ded35513e5651b0e497b9d8d0c1327ffea1 (diff)
moved default config to packages
-rwxr-xr-xmycli/main.py18
-rw-r--r--mycli/packages/filepaths.py17
2 files changed, 20 insertions, 15 deletions
diff --git a/mycli/main.py b/mycli/main.py
index 6a04b92..2dd261e 100755
--- a/mycli/main.py
+++ b/mycli/main.py
@@ -1,4 +1,4 @@
-from io import open, StringIO
+from io import open
import os
import sys
import traceback
@@ -52,7 +52,7 @@ from .key_bindings import mycli_bindings
from .lexer import MyCliLexer
from . import __version__
from .compat import WIN
-from .packages.filepaths import dir_path_exists, guess_socket_location
+from .packages.filepaths import dir_path_exists, guess_socket_location, get_default_config_path
import itertools
@@ -94,18 +94,7 @@ class MyCli(object):
os.path.expanduser('~/.my.cnf'),
]
- # check XDG_CONFIG_HOME exists and not an empty string
- if os.environ.get("XDG_CONFIG_HOME"):
- xdg_config_home = os.path.expanduser(os.environ.get("XDG_CONFIG_HOME"))
- elif WIN:
- xdg_config_home = os.path.expanduser("~/AppData/Local")
- else:
- xdg_config_home = os.path.expanduser("~/.config")
-
- if not os.path.exists(xdg_config_home):
- os.mkdir(xdg_config_home)
-
- default_user_config_file = os.path.join(xdg_config_home, "mycli", "myclirc")
+ default_user_config_file = get_default_config_path()
system_config_files = [
'/etc/myclirc',
@@ -324,7 +313,6 @@ class MyCli(object):
root_logger.debug('Initializing mycli logging.')
root_logger.debug('Log file %r.', log_file)
-
def read_my_cnf_files(self, files, keys):
"""
Reads a list of config files and merges them. The last one will win.
diff --git a/mycli/packages/filepaths.py b/mycli/packages/filepaths.py
index 79fe26d..1a0b6b0 100644
--- a/mycli/packages/filepaths.py
+++ b/mycli/packages/filepaths.py
@@ -1,6 +1,7 @@
import os
import platform
+from mycli.compat import WIN
if os.name == "posix":
if platform.system() == "Darwin":
@@ -104,3 +105,19 @@ def guess_socket_location():
return os.path.join(r, filename)
dirs[:] = [d for d in dirs if d.startswith("mysql")]
return None
+
+
+def get_default_config_path():
+ # check XDG_CONFIG_HOME exists and not an empty string
+ if os.environ.get("XDG_CONFIG_HOME"):
+ xdg_config_home = os.path.expanduser(os.environ.get("XDG_CONFIG_HOME"))
+ elif WIN:
+ xdg_config_home = os.path.expanduser("~/AppData/Local")
+ else:
+ xdg_config_home = os.path.expanduser("~/.config/")
+
+ config_root = os.path.join(xdg_config_home, 'mycli')
+ if not os.path.exists(config_root):
+ os.makedirs(config_root)
+
+ return os.path.join(config_root, 'myclirc')