SimpleChatTC:SimpleProxy:Allow for loading json based config file
The config entries should be named same as their equivalent cmdline argument entries but without the -- prefix
This commit is contained in:
parent
aac5213104
commit
62dcd506e3
|
|
@ -17,6 +17,7 @@ import html.parser
|
||||||
|
|
||||||
gMe = {
|
gMe = {
|
||||||
'--port': 3128,
|
'--port': 3128,
|
||||||
|
'--config': '/dev/null',
|
||||||
'server': None
|
'server': None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -196,6 +197,25 @@ def handle_urltext(ph: ProxyHandler, pr: urllib.parse.ParseResult):
|
||||||
ph.send_error(502, f"WARN:UrlFetchFailed:{exc}")
|
ph.send_error(502, f"WARN:UrlFetchFailed:{exc}")
|
||||||
|
|
||||||
|
|
||||||
|
def load_config():
|
||||||
|
"""
|
||||||
|
Allow loading of a json based config file
|
||||||
|
|
||||||
|
The config entries should be named same as their equivalent cmdline argument
|
||||||
|
entries but without the -- prefix. They will be loaded into gMe after adding
|
||||||
|
-- prefix.
|
||||||
|
|
||||||
|
As far as the program is concerned the entries could either come from cmdline
|
||||||
|
or from a json based config file.
|
||||||
|
"""
|
||||||
|
global gMe
|
||||||
|
import json
|
||||||
|
with open(gMe['--config']) as f:
|
||||||
|
cfg = json.load(f)
|
||||||
|
for k in cfg:
|
||||||
|
gMe[f"--{k}"] = cfg[k]
|
||||||
|
|
||||||
|
|
||||||
def process_args(args: list[str]):
|
def process_args(args: list[str]):
|
||||||
global gMe
|
global gMe
|
||||||
gMe['INTERNAL.ProcessArgs.Malformed'] = []
|
gMe['INTERNAL.ProcessArgs.Malformed'] = []
|
||||||
|
|
@ -213,10 +233,16 @@ def process_args(args: list[str]):
|
||||||
iArg += 1
|
iArg += 1
|
||||||
gMe[cArg] = int(args[iArg])
|
gMe[cArg] = int(args[iArg])
|
||||||
iArg += 1
|
iArg += 1
|
||||||
|
case '--config':
|
||||||
|
iArg += 1
|
||||||
|
gMe[cArg] = args[iArg]
|
||||||
|
iArg += 1
|
||||||
|
load_config()
|
||||||
case _:
|
case _:
|
||||||
gMe['INTERNAL.ProcessArgs.Unknown'].append(cArg)
|
gMe['INTERNAL.ProcessArgs.Unknown'].append(cArg)
|
||||||
print(f"WARN:ProcessArgs:{iArg}:IgnoringUnknownCommand:{cArg}")
|
print(f"WARN:ProcessArgs:{iArg}:IgnoringUnknownCommand:{cArg}")
|
||||||
iArg += 1
|
iArg += 1
|
||||||
|
print(gMe)
|
||||||
|
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue