def test_xdg_config_dirs(self): os.environ['XDG_CONFIG_DIRS'] = '/usr/local/etc/xdg:/etc/xdg' self.assertEqual(confuse.config_dirs(), ['/Users/test/Library/Application Support', '/Users/test/.config', '/usr/local/etc/xdg', '/etc/xdg', '/etc'])
def setUp(self): self.setup_beets() # Don't use the BEETSDIR from `helper`. Instead, we point the home # directory there. Some tests will set `BEETSDIR` themselves. del os.environ['BEETSDIR'] self._old_home = os.environ.get('HOME') os.environ['HOME'] = util.py3_path(self.temp_dir) # Also set APPDATA, the Windows equivalent of setting $HOME. self._old_appdata = os.environ.get('APPDATA') os.environ['APPDATA'] = \ util.py3_path(os.path.join(self.temp_dir, b'AppData', b'Roaming')) self._orig_cwd = os.getcwd() self.test_cmd = self._make_test_cmd() commands.default_commands.append(self.test_cmd) # Default user configuration self.user_config_dir = os.path.join( util.bytestring_path(config_dirs()[0]), b'beets') os.makedirs(self.user_config_dir) self.user_config_path = os.path.join(self.user_config_dir, b'config.yaml') # Custom BEETSDIR self.beetsdir = os.path.join(self.temp_dir, b'beetsdir') os.makedirs(self.beetsdir) self._reset_config()
def test_xdg_config_dirs(self): os.environ['XDG_CONFIG_DIRS'] = '/usr/local/etc/xdg:/etc/xdg' self.assertEqual(confuse.config_dirs(), ['/Users/test/.config', '/Users/test/Library/Application Support', '/usr/local/etc/xdg', '/etc/xdg', '/etc'])
class Preferences: """ Class used for fetching preferences. """ CONFIG_DIR = os.path.join(confuse.config_dirs()[0], "toasts") USER_CONFIG_FILE = os.path.join(CONFIG_DIR, "config.yaml") DEFAULT_CONFIG_FILE = util.get_default_config_path() def __init__(self): if not os.path.exists(self.USER_CONFIG_FILE): self.create_config_file() # confuse looks in system specific directories for config files (config.yaml) # by using the app's name self._config = _ConfuseConfig( appname="toasts", config=self.USER_CONFIG_FILE, default=self.DEFAULT_CONFIG_FILE, ) def create_config_file(self): """ Create a config file with default settings in `CONFIG_DIR`. Overwrites existing config file. """ if not os.path.exists(self.CONFIG_DIR): os.makedirs(self.CONFIG_DIR) shutil.copy(self.DEFAULT_CONFIG_FILE, self.CONFIG_DIR) def get(self, opt): """ Return the value of the `opt` option. Args: opt (str): name of option - "general.clients", "sites.github.token", etc. """ val = self._config for key in opt.split("."): val = val[key] return val.get()
def test_xdg_matching_fallback_not_duplicated(self): os.environ['XDG_CONFIG_HOME'] = '~/.config' self.assertEqual(confuse.config_dirs(), ['/home/test/.config', '/etc/xdg', '/etc'])
def test_fallback_only(self): del os.environ['XDG_CONFIG_HOME'] self.assertEqual(confuse.config_dirs(), ['/home/test/.config', '/etc/xdg', '/etc'])
def test_both_xdg_and_fallback_dirs(self): self.assertEqual(confuse.config_dirs(), ['/home/test/.config', '/home/test/xdgconfig', '/etc/xdg', '/etc'])
def test_fallback_dir(self): del os.environ['APPDATA'] self.assertEqual(confuse.config_dirs(), ['C:\\Users\\test\\AppData\\Roaming'])
def test_dir_from_environ(self): self.assertEqual(confuse.config_dirs(), ['C:\\Users\\test\\AppData\\Roaming', 'C:\\Users\\test\\winconfig'])
def test_mac_dirs(self): self.assertEqual(confuse.config_dirs(), ['/Users/test/Library/Application Support', '/Users/test/.config'])
def test_xdg_matching_fallback_not_duplicated(self): os.environ['XDG_CONFIG_HOME'] = '~/.config' self.assertEqual(confuse.config_dirs(), ['/home/test/.config'])
def test_fallback_only(self): del os.environ['XDG_CONFIG_HOME'] self.assertEqual(confuse.config_dirs(), ['/home/test/.config'])
def test_both_xdg_and_fallback_dirs(self): self.assertEqual(confuse.config_dirs(), ['/home/test/.config', '/home/test/xdgconfig'])
def test_xdg_config_dirs(self): os.environ['XDG_CONFIG_DIRS'] = '/usr/local/etc/xdg:/etc/xdg' self.assertEqual(confuse.config_dirs(), ['/home/test/.config', '/home/test/xdgconfig', '/usr/local/etc/xdg', '/etc/xdg', '/etc'])
def test_mac_dirs(self): self.assertEqual(confuse.config_dirs(), ['/Users/test/.config', '/Users/test/Library/Application Support', '/etc/xdg', '/etc'])
def main(): print('configuration directory is', confuse.config_dirs()) config = confuse.Configuration('obs-midi-controller', __name__) OBSMidi(config)