Allow adding of new args through overrides in man generator
This commit is contained in:
parent
91bd428c22
commit
6900c4f9a1
@ -39,12 +39,12 @@ def format_groff(k, v, arg=None, typ='arg'):
|
||||
|
||||
class DocEntry:
|
||||
|
||||
def __init__(self, *args, argvalue=None, typ='arg'):
|
||||
def __init__(self, *args, typ='arg'):
|
||||
self.flags = args
|
||||
self.v = argvalue
|
||||
self.render = self.get_empty
|
||||
self.groff = None
|
||||
self.typ = typ
|
||||
self.v = None
|
||||
|
||||
|
||||
def __check_line_default(self, m):
|
||||
@ -68,6 +68,10 @@ class DocEntry:
|
||||
self.groff = v
|
||||
|
||||
|
||||
def set_groff_argvalue(self, argvalue):
|
||||
self.v = '\\fI' + argvalue + '\\fP'
|
||||
|
||||
|
||||
def get_groff(self):
|
||||
v = self.groff
|
||||
if v == None:
|
||||
@ -113,10 +117,19 @@ class DocGenerator:
|
||||
return s
|
||||
|
||||
|
||||
def override_arg(self, k, v, args):
|
||||
def set_arg(self, k, v, flags, argvalue=None):
|
||||
o = DocEntry(*flags)
|
||||
o.set_groff_argvalue(argvalue)
|
||||
o.set_groff(v)
|
||||
self.docs[k] = o
|
||||
|
||||
|
||||
def override_arg(self, k, v, args, argvalue=None):
|
||||
o = self.docs[k]
|
||||
#g.docs[v[0]].groff = v[1].rstrip()
|
||||
o.set_groff(v)
|
||||
if argvalue != None:
|
||||
o.set_groff_argvalue(argvalue)
|
||||
l = len(args)
|
||||
if l > 0:
|
||||
o.flags = []
|
||||
@ -147,16 +160,19 @@ class DocGenerator:
|
||||
self.docs['vv'] = o
|
||||
|
||||
if self.arg_flags & Flag.CONFIG:
|
||||
o = DocEntry('-c', '--config', argvalue='config_dir')
|
||||
o = DocEntry('-c', '--config')
|
||||
o.set_groff('Load configuration files from given directory. All files with an .ini extension will be loaded, of which all must contain valid ini file data.')
|
||||
o.set_groff_argvalue('config_dir')
|
||||
self.docs['c'] = o
|
||||
|
||||
o = DocEntry('-n', '--namespace', argvalue='namespace')
|
||||
o = DocEntry('-n', '--namespace')
|
||||
o.set_groff('Load given configuration namespace. Configuration will be loaded from the immediate configuration subdirectory with the same name.')
|
||||
o.set_groff_argvalue('namespace')
|
||||
self.docs['n'] = o
|
||||
|
||||
o = DocEntry('--dumpconfig', argvalue='format')
|
||||
o = DocEntry('--dumpconfig')
|
||||
o.set_groff('Output configuration settings rendered from environment and inputs. Valid arguments are \\fIini\\fP for ini file output, and \\fIenv\\fP for environment variable output. See \\fBCONFIGURATION\\fP.')
|
||||
o.set_groff_argvalue('format')
|
||||
self.docs['dumpconfig'] = o
|
||||
|
||||
|
||||
@ -204,8 +220,9 @@ class DocGenerator:
|
||||
|
||||
|
||||
if self.arg_flags & Flag.CHAIN_SPEC:
|
||||
o = DocEntry('-i', '--chain-spec', argvalue='chain_spec')
|
||||
o = DocEntry('-i', '--chain-spec')
|
||||
o.set_groff('Chain specification string, in the format <engine>:<fork>:<chain_id>:<common_name>. Example: "evm:london:1:ethereum".')
|
||||
o.set_groff_argvalue('chain_spec')
|
||||
self.docs['i'] = o
|
||||
self.envs['i'] = 'RPC_CREDENTIALS'
|
||||
|
||||
@ -223,13 +240,15 @@ class DocGenerator:
|
||||
|
||||
|
||||
if self.arg_flags & Flag.KEY_FILE:
|
||||
o = DocEntry('-y', '--key-path', argvalue='path')
|
||||
o = DocEntry('-y', '--key-path')
|
||||
o.set_groff('Path to signing key.')
|
||||
o.set_groff_argvalue('path')
|
||||
self.docs['y'] = o
|
||||
self.envs['y'] = 'WALLET_KEY_FILE'
|
||||
|
||||
o = DocEntry('--passphrase-file', argvalue='path')
|
||||
o = DocEntry('--passphrase-file')
|
||||
o.set_groff('Path to file containing password to unlock key file')
|
||||
o.set_groff_argvalue('path')
|
||||
self.docs['passphrasefile'] = o
|
||||
|
||||
|
||||
|
@ -118,20 +118,23 @@ def apply_override(g, override_dir):
|
||||
s = f.readline()
|
||||
if len(s) == 0:
|
||||
break
|
||||
v = s.split('\t', maxsplit=2)
|
||||
v = s.split('\t', maxsplit=4)
|
||||
fargs = None
|
||||
try:
|
||||
fargs = v[2].rstrip().split(',')
|
||||
except IndexError:
|
||||
fargs = []
|
||||
g.override_arg(v[0], v[1], fargs)
|
||||
argvalue = None
|
||||
if len(v) == 4:
|
||||
argvalue = v[3]
|
||||
try:
|
||||
g.override_arg(v[0], v[1], fargs, argvalue=argvalue)
|
||||
except KeyError:
|
||||
logg.info('adding not previously registered key {} flags: {}'.format(v[0], ','.join(fargs)))
|
||||
g.set_arg(v[0], v[1], fargs, argvalue=argvalue)
|
||||
f.close()
|
||||
return g
|
||||
|
||||
g = apply_override(g, args.source_dir)
|
||||
|
||||
ge = EnvDocGenerator(flags, override=args.overrides_env_dir)
|
||||
ge.process()
|
||||
|
||||
def get_head(tool_name, source_dir):
|
||||
header_file = os.path.join(source_dir, tool_name + '.head.groff')
|
||||
@ -169,6 +172,11 @@ def get_custom(tool_name, source_dir):
|
||||
return custom
|
||||
|
||||
|
||||
g = apply_override(g, args.source_dir)
|
||||
|
||||
ge = EnvDocGenerator(flags, override=args.overrides_env_dir)
|
||||
ge.process()
|
||||
|
||||
head = get_head(toolname, args.source_dir)
|
||||
examples = get_examples(toolname, args.source_dir)
|
||||
custom = get_custom(toolname, args.source_dir)
|
||||
|
Loading…
Reference in New Issue
Block a user