return of the datafiles and a lot of code reformats!
parent
0ecd2159dd
commit
5cbeb949ea
@ -0,0 +1,65 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
from yaml import load
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
|
global _config
|
||||||
|
_config = {}
|
||||||
|
_files = []
|
||||||
|
_configloaded = False
|
||||||
|
|
||||||
|
_LOCATIONS = {
|
||||||
|
'_YAMLCONFPATH': {
|
||||||
|
'_DIR': [
|
||||||
|
"{}/owo/".format(os.environ["XDG_CONFIG_HOME"]) if "XDG_CONFIG_HOME" in os.environ else str(Path.home())+"/.config/owo/",
|
||||||
|
"{}/".format(os.environ["XDG_CONFIG_HOME"]) if "XDG_CONFIG_HOME" in os.environ else str(Path.home())+"/.config/",
|
||||||
|
str(Path('~').resolve()),
|
||||||
|
str(Path().resolve())
|
||||||
|
],
|
||||||
|
'_FNAME_RE':
|
||||||
|
r"([ou^>]w[ou^<]|config)\.(ya?ml|c(on)?fi?g?)$"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def _mDC_listMatches(inp: str) -> list:
|
||||||
|
"\n".join(os.listdir(inp))
|
||||||
|
return re.findall(
|
||||||
|
_LOCATIONS['_YAMLCONFPATH']['_FNAME_RE'],
|
||||||
|
inp
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _makeDefaultConfs() -> list:
|
||||||
|
locates = []
|
||||||
|
for x in _LOCATIONS['_YAMLCONFPATH']['_DIR']:
|
||||||
|
locates += _mDC_listMatches(x)
|
||||||
|
return locates
|
||||||
|
|
||||||
|
|
||||||
|
def _updateConf(toAdd: dict):
|
||||||
|
_config.update(toAdd)
|
||||||
|
|
||||||
|
|
||||||
|
def _loadConfigFile(path: str):
|
||||||
|
try:
|
||||||
|
file = Path(path)
|
||||||
|
|
||||||
|
if file.exists() and not file.is_dir():
|
||||||
|
conf = load(file.read_text())
|
||||||
|
except Exception as exc:
|
||||||
|
raise exc
|
||||||
|
else:
|
||||||
|
_updateConf(conf)
|
||||||
|
if file not in _files:
|
||||||
|
_files.push(str(file))
|
||||||
|
|
||||||
|
|
||||||
|
def initConfig(path: str = None) -> bool:
|
||||||
|
if _configloaded:
|
||||||
|
return True # If config already loaded, do not reload.
|
||||||
|
else:
|
||||||
|
_toLookIn = _makeDefaultConfs() + path
|
||||||
|
for loc in _toLookIn:
|
||||||
|
_loadConfigFile(loc)
|
@ -1,71 +0,0 @@
|
|||||||
from pathlib import Path
|
|
||||||
from sys import platform
|
|
||||||
from yaml import load, dump
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import re
|
|
||||||
import collections.abc
|
|
||||||
|
|
||||||
_config={}
|
|
||||||
_files=[]
|
|
||||||
_configloaded = False
|
|
||||||
|
|
||||||
_LOCATIONS = {
|
|
||||||
'_YAMLCONFPATH':{
|
|
||||||
'_DIR':[
|
|
||||||
"{}/owo/".format(os.environ["XDG_CONFIG_HOME"]) if "XDG_CONFIG_HOME" in os.environ else str(Path.home())+"/.config/owo/",
|
|
||||||
"{}/".format(os.environ["XDG_CONFIG_HOME"]) if "XDG_CONFIG_HOME" in os.environ else str(Path.home())+"/.config/",
|
|
||||||
str(Path('~').resolve()),
|
|
||||||
str(Path().resolve())
|
|
||||||
],
|
|
||||||
'_FNAME_RE':
|
|
||||||
r"([ou^>]w[ou^<]|config)\.(ya?ml|c(on)?fi?g?)$"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
def _mDC_listMatches(inp: str) -> list:
|
|
||||||
"\n".join(os.listdir(inp))
|
|
||||||
return re.findall(
|
|
||||||
_LOCATIONS['_YAMLCONFPATH']['_FNAME_RE'],
|
|
||||||
inp
|
|
||||||
)
|
|
||||||
|
|
||||||
def _makeDefaultConfs() -> list:
|
|
||||||
locates=[]
|
|
||||||
for x in _LOCATIONS['_YAMLCONFPATH']['_DIR']:
|
|
||||||
locates+=_mDC_listMatches(x)
|
|
||||||
return locates
|
|
||||||
|
|
||||||
def _updateConf(toAdd: dict):
|
|
||||||
_config.update(toAdd)
|
|
||||||
|
|
||||||
def _loadConfigFile(path: str):
|
|
||||||
try:
|
|
||||||
file = Path(path)
|
|
||||||
|
|
||||||
if file.exists() and not file.is_dir():
|
|
||||||
try:
|
|
||||||
conf = yaml.load(file.read_text())
|
|
||||||
except Exception as exc:
|
|
||||||
raise exc
|
|
||||||
else:
|
|
||||||
if not _config:
|
|
||||||
_config = conf
|
|
||||||
else:
|
|
||||||
_updateConf(conf)
|
|
||||||
if file not in _files:
|
|
||||||
_files+str(file)
|
|
||||||
except Exception as exc:
|
|
||||||
print(exc)
|
|
||||||
import traceback
|
|
||||||
traceback.print_exc(file=sys.stderr)
|
|
||||||
|
|
||||||
def initConfig(path: str = None) -> bool:
|
|
||||||
if _configloaded:
|
|
||||||
return True# If config already loaded, do not reload.
|
|
||||||
else:
|
|
||||||
_toLookIn=_makeDefaultConfs()+path
|
|
||||||
for loc in _toLookIn:
|
|
||||||
_loadConfigFile(loc)
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
|||||||
|
_meta:
|
||||||
|
names:
|
||||||
|
lang: "English"
|
||||||
|
region: "United States"
|
||||||
|
data:
|
||||||
|
types:
|
||||||
|
audio:
|
||||||
|
codecs:
|
||||||
|
pcm_alaw: "A-law / G.711 A-law PCM"
|
||||||
|
pcm_s16le: "Little Endian Signed 16-bit PCM"
|
||||||
|
pcm_u16le: "Little Endian Unsigned 16-bit PCM"
|
||||||
|
pcm_s16be: "Big Endian Signed 16-bit PCM"
|
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from setuptools import setup
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name = 'owo',
|
||||||
|
version = '0.0.0-alpha0',
|
||||||
|
description = 'tool to get information on just about everything',
|
||||||
|
author = 'arris kathery',
|
||||||
|
python_requires = '>=3.10',
|
||||||
|
packages = ['owo'],
|
||||||
|
package_dir = {'owo': 'owo'},
|
||||||
|
package_data = {'owo': [
|
||||||
|
'res/locale/*.yaml'
|
||||||
|
]}
|
||||||
|
)
|
Loading…
Reference in New Issue