Server CLI option '--prefill' added.

- TUI logs the args in consistency to what's been done to Flutter UI.
- Server starting code checks if prefill file exists.
This commit is contained in:
Carlos Nihelton 2021-10-26 15:24:53 -03:00
parent 7179bfb4fc
commit 41a2a554ef
2 changed files with 19 additions and 1 deletions

View File

@ -15,6 +15,7 @@
import argparse import argparse
import logging import logging
import stat
import os import os
import sys import sys
@ -35,6 +36,10 @@ def make_server_args_parser():
help='menu-only, do not call installer function') help='menu-only, do not call installer function')
parser.add_argument('--socket') parser.add_argument('--socket')
parser.add_argument('--autoinstall', action='store') parser.add_argument('--autoinstall', action='store')
parser.add_argument('--prefill',
dest='prefill',
help='Prefills UI models with data provided in a prefill.yaml' \
' file yet allowing overrides.')
return parser return parser
@ -74,6 +79,19 @@ def main():
logger.info("Starting System Setup server revision {}".format(version)) logger.info("Starting System Setup server revision {}".format(version))
logger.info("Arguments passed: {}".format(sys.argv)) logger.info("Arguments passed: {}".format(sys.argv))
prefillFile = opts.prefill
if opts.prefill:
if os.path.exists(prefillFile):
statInfo = os.stat(prefillFile)
mode = statInfo.st_mode
isRegularFile = (stat.S_ISREG(mode)!=0)
if not isRegularFile:
logger.error('"{}" is not a regular file. Option will be ignored.'.format(prefillFile))
opts.prefill = None
else:
logger.error('Prefill file "{}" does not exist. Option will be ignored.'.format(prefillFile))
opts.prefill = None
server = SystemSetupServer(opts, block_log_dir) server = SystemSetupServer(opts, block_log_dir)
server.note_file_for_apport( server.note_file_for_apport(

View File

@ -97,7 +97,7 @@ def main():
server_proc = subprocess.Popen( server_proc = subprocess.Popen(
server_cmd, stdout=server_output, stderr=subprocess.STDOUT) server_cmd, stdout=server_output, stderr=subprocess.STDOUT)
opts.server_pid = str(server_proc.pid) opts.server_pid = str(server_proc.pid)
print("running server pid {}".format(server_proc.pid)) print("running server pid {} with args: {}".format(server_proc.pid, server_cmd))
elif opts.server_pid is not None: elif opts.server_pid is not None:
print("reconnecting to server pid {}".format(opts.server_pid)) print("reconnecting to server pid {}".format(opts.server_pid))