For Linux service users, (#1236)

* For Linux service users,
use `appdirs.AppDirs().site_data_dir`
instead of `appdirs.AppDirs().user_config_dir

* somewhat important for this to be changed consistently

* need to import os to use it

* travis doesn't like how I was checking in config_dir had been set.
This commit is contained in:
Michael H 2018-01-14 23:35:33 -05:00 committed by Kowlin
parent eb10508c5f
commit b80c327e35
2 changed files with 22 additions and 3 deletions

View File

@ -1,4 +1,5 @@
import sys
import os
from pathlib import Path
from typing import List
import hashlib
@ -30,7 +31,13 @@ basic_config_default = {
"CORE_PATH_APPEND": "core"
}
config_dir = Path(appdirs.AppDirs("Red-DiscordBot").user_config_dir)
config_dir = None
appdir = appdirs.AppDirs("Red-DiscordBot")
if sys.platform == 'linux':
if os.getuid() < 1000:
config_dir = Path(appdir.site_data_dir)
if not config_dir:
config_dir = Path(appdir.user_config_dir)
config_file = config_dir / 'config.json'

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python
import sys
import os
from copy import deepcopy
from pathlib import Path
@ -10,9 +11,20 @@ from redbot.core.json_io import JsonIO
from redbot.core.data_manager import basic_config_default
from redbot.core.cli import confirm
config_dir = None
appdir = appdirs.AppDirs("Red-DiscordBot")
config_dir = Path(appdir.user_config_dir)
config_dir.mkdir(parents=True, exist_ok=True)
if sys.platform == 'linux':
if os.getuid() < 1000:
config_dir = Path(appdir.site_data_dir)
if not config_dir:
config_dir = Path(appdir.user_config_dir)
try:
config_dir.mkdir(parents=True, exist_ok=True)
except PermissionError:
print(
"You don't have permission to write to "
"'{}'\nExiting...".format(config_dir))
sys.exit(1)
config_file = config_dir / 'config.json'