diff options
Diffstat (limited to 'debian/get_user')
-rwxr-xr-x | debian/get_user | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/debian/get_user b/debian/get_user new file mode 100755 index 0000000..1e0f258 --- /dev/null +++ b/debian/get_user @@ -0,0 +1,28 @@ +#!/usr/bin/python3 + +import yaml, sys + +conf_file = '/etc/knot/knot.conf' if len(sys.argv) < 2 else sys.argv[1] +ip_fields = ['listen', 'address', 'via', 'whitelist', 'network'] + +try: + conf = yaml.load(open(conf_file, 'r')) +except (yaml.scanner.ScannerError, yaml.parser.ParserError): + conf = False + +if not conf: + import io + conf_io = io.StringIO() + with open(conf_file) as f: + for line in f: + if line.split(':')[0].strip() not in ip_fields: + conf_io.write(line) + conf_io.seek(0) + try: + conf = yaml.load(conf_io) + except (yaml.scanner.ScannerError, yaml.parser.ParserError): + sys.exit(1) + +if "server" in conf and conf["server"]: + if "user" in conf["server"] and conf["server"]["user"]: + print(conf["server"]["user"].split(":")[0].split(".")[0]) |