[elbe-devel] [PATCH v3 52/75] initvmaction: use f-strings
Daniel Braunwarth
daniel at braunwarth.dev
Sun Nov 6 22:12:31 CET 2022
Signed-off-by: Daniel Braunwarth <daniel at braunwarth.dev>
---
elbepack/initvmaction.py | 113 +++++++++++++++++----------------------
1 file changed, 49 insertions(+), 64 deletions(-)
diff --git a/elbepack/initvmaction.py b/elbepack/initvmaction.py
index 20e866abe..e64502c87 100644
--- a/elbepack/initvmaction.py
+++ b/elbepack/initvmaction.py
@@ -41,10 +41,10 @@ def cmd_exists(x):
def ensure_outdir(opt):
if opt.outdir is None:
- opt.outdir = "elbe-build-%s" % (
- datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
+ opt.outdir = (
+ f"elbe-build-{datetime.datetime.now().strftime('%Y%m%d-%H%M%S')}")
- print("Saving generated Files to %s" % opt.outdir)
+ print(f"Saving generated Files to {opt.outdir}")
class InitVMError(Exception):
@@ -66,7 +66,7 @@ class InitVMAction:
def print_actions(cls):
print("available subcommands are:", file=sys.stderr)
for a in cls.actiondict:
- print(" %s" % a, file=sys.stderr)
+ print(f" {a}", file=sys.stderr)
def __new__(cls, node):
action = cls.actiondict[node]
@@ -191,11 +191,11 @@ class EnsureAction(InitVMAction):
return
if self.initvm_state() == libvirt.VIR_DOMAIN_SHUTOFF:
- system('%s initvm start' % elbe_exe)
+ system(f'{elbe_exe} initvm start')
elif self.initvm_state() == libvirt.VIR_DOMAIN_RUNNING:
stop = time.time() + 300
while time.time() < stop:
- if command_out('%s control list_projects' % elbe_exe)[0] == 0:
+ if command_out(f'{elbe_exe} control list_projects')[0] == 0:
break
time.sleep(10)
if time.time() > stop:
@@ -254,7 +254,7 @@ class AttachAction(InitVMAction):
sys.exit(20)
print('Attaching to initvm console.')
- system('virsh --connect qemu:///system console %s' % cfg['initvm_domain'])
+ system(f'virsh --connect qemu:///system console {cfg["initvm_domain"]}')
@@ -266,7 +266,7 @@ def submit_with_repodir_and_dl_result(xmlfile, cdrom, opt):
with Repodir(xmlfile, preprocess_xmlfile):
submit_and_dl_result(preprocess_xmlfile, cdrom, opt)
except RepodirError as err:
- print("%s repodir failed" % elbe_exe, file=sys.stderr)
+ print(f"{elbe_exe} repodir failed", file=sys.stderr)
print(err, file=sys.stderr)
sys.exit(20)
@@ -281,7 +281,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
xmlfile = ppw.preproc
ret, prjdir, err = command_out_stderr(
- '%s control create_project' % (elbe_exe))
+ f'{elbe_exe} control create_project')
if ret != 0:
print("elbe control create_project failed.", file=sys.stderr)
print(err, file=sys.stderr)
@@ -290,7 +290,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
prjdir = prjdir.strip()
- cmd = '%s control set_xml %s %s' % (elbe_exe, prjdir, xmlfile)
+ cmd = f'{elbe_exe} control set_xml {prjdir} {xmlfile}'
ret, _, err = command_out_stderr(cmd)
if ret != 0:
print("elbe control set_xml failed2", file=sys.stderr)
@@ -311,9 +311,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
if cdrom is not None:
print("Uploading CDROM. This might take a while")
try:
- system(
- '%s control set_cdrom "%s" "%s"' %
- (elbe_exe, prjdir, cdrom))
+ system(f'{elbe_exe} control set_cdrom "{prjdir}" "{cdrom}"')
except CommandError:
print("elbe control set_cdrom Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
@@ -330,9 +328,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
build_opts += '--skip-pbuilder '
try:
- system(
- '%s control build "%s" %s' %
- (elbe_exe, prjdir, build_opts))
+ system(f'{elbe_exe} control build "{prjdir}" {build_opts}')
except CommandError:
print("elbe control build Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
@@ -341,7 +337,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
print("Build started, waiting till it finishes")
try:
- system('%s control wait_busy "%s"' % (elbe_exe, prjdir))
+ system(f'{elbe_exe} control wait_busy "{prjdir}"')
except CommandError:
print('elbe control wait_busy Failed', file=sys.stderr)
print('', file=sys.stderr)
@@ -349,14 +345,13 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
file=sys.stderr)
print('The files, that have been built, can be downloaded using:',
file=sys.stderr)
- print('%s control get_files --output "%s" "%s"' % (elbe_exe,
- opt.outdir,
- prjdir),
+ print(
+ f'{elbe_exe} control get_files --output "{opt.outdir}" "{prjdir}"',
file=sys.stderr)
print("", file=sys.stderr)
print('The project can then be removed using:',
file=sys.stderr)
- print('%s control del_project "%s"' % (elbe_exe, prjdir),
+ print(f'{elbe_exe} control del_project "{prjdir}"',
file=sys.stderr)
print("", file=sys.stderr)
sys.exit(10)
@@ -367,9 +362,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
if opt.build_sdk:
try:
- system(
- '%s control build_sdk "%s" %s' %
- (elbe_exe, prjdir, build_opts))
+ system(f'{elbe_exe} control build_sdk "{prjdir}" {build_opts}')
except CommandError:
print("elbe control build_sdk Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
@@ -378,7 +371,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
print("SDK Build started, waiting till it finishes")
try:
- system('%s control wait_busy "%s"' % (elbe_exe, prjdir))
+ system(f'{elbe_exe} control wait_busy "{prjdir}"')
except CommandError:
print('elbe control wait_busy Failed, while waiting for the SDK',
file=sys.stderr)
@@ -387,14 +380,14 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
file=sys.stderr)
print('The files, that have been built, can be downloaded using:',
file=sys.stderr)
- print('%s control get_files --output "%s" "%s"' % (elbe_exe,
- opt.outdir,
- prjdir),
+ print(
+ f'{elbe_exe} control get_files --output "{opt.outdir}" '
+ f'"{prjdir}"',
file=sys.stderr)
print("", file=sys.stderr)
print('The project can then be removed using:',
file=sys.stderr)
- print('%s control del_project "%s"' % (elbe_exe, prjdir),
+ print(f'{elbe_exe} control del_project "{prjdir}"',
file=sys.stderr)
print("", file=sys.stderr)
sys.exit(10)
@@ -404,18 +397,14 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
print("")
try:
- system(
- '%s control dump_file "%s" validation.txt' %
- (elbe_exe, prjdir))
+ system(f'{elbe_exe} control dump_file "{prjdir}" validation.txt')
except CommandError:
print(
"Project failed to generate validation.txt",
file=sys.stderr)
print("Getting log.txt", file=sys.stderr)
try:
- system(
- '%s control dump_file "%s" log.txt' %
- (elbe_exe, prjdir))
+ system(f'{elbe_exe} control dump_file "{prjdir}" log.txt')
except CommandError:
print("Failed to dump log.txt", file=sys.stderr)
@@ -427,16 +416,14 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
print("Listing available files:")
print("")
try:
- system('%s control get_files "%s"' % (elbe_exe, prjdir))
+ system(f'{elbe_exe} control get_files "{prjdir}"')
except CommandError:
print("elbe control get_files Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
sys.exit(20)
print("")
- print(
- 'Get Files with: elbe control get_file "%s" <filename>' %
- prjdir)
+ print(f'Get Files with: elbe control get_file "{prjdir}" <filename>')
else:
print("")
print("Getting generated Files")
@@ -445,8 +432,9 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
ensure_outdir(opt)
try:
- system('%s control get_files --output "%s" "%s"' % (
- elbe_exe, opt.outdir, prjdir))
+ system(
+ f'{elbe_exe} control get_files --output "{opt.outdir}" '
+ f'"{prjdir}"')
except CommandError:
print("elbe control get_files Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
@@ -454,8 +442,7 @@ def submit_and_dl_result(xmlfile, cdrom, opt):
if not opt.keep_files:
try:
- system('%s control del_project "%s"' % (
- elbe_exe, prjdir))
+ system(f'{elbe_exe} control del_project "{prjdir}"')
except CommandError:
print("remove project from initvm failed",
file=sys.stderr)
@@ -468,7 +455,7 @@ def extract_cdrom(cdrom):
"""
tmp = TmpdirFilesystem()
- system('7z x -o%s "%s" source.xml' % (tmp.path, cdrom))
+ system(f'7z x -o{tmp.path} "{cdrom}" source.xml')
print("", file=sys.stderr)
@@ -500,9 +487,7 @@ def extract_cdrom(cdrom):
sys.exit(20)
print("Iso Image with valid source.xml detected !")
- print(
- "Image was generated using Elbe Version %s" %
- exml.get_elbe_version())
+ print(f"Image was generated using Elbe Version {exml.get_elbe_version()}")
return tmp
@@ -519,11 +504,10 @@ class CreateAction(InitVMAction):
# pylint: disable=too-many-statements
if self.initvm is not None:
- print("Initvm is already defined for the libvirt domain '%s'.\n" % cfg['initvm_domain'])
- print("If you want to build in your old initvm, "
- "use `elbe initvm submit <xml>`.")
+ print(f"Initvm is already defined for the libvirt domain '{cfg['initvm_domain']}'.\n")
+ print("If you want to build in your old initvm, use `elbe initvm submit <xml>`.")
print("If you want to remove your old initvm from libvirt "
- "run `virsh --connect qemu:///system undefine %s`.\n" % cfg['initvm_domain'])
+ f"run `virsh --connect qemu:///system undefine {cfg['initvm_domain']}`.\n")
print("You can specify another libvirt domain by setting the "
"ELBE_INITVM_DOMAIN environment variable to an unused domain name.\n")
print("Note:")
@@ -554,7 +538,7 @@ class CreateAction(InitVMAction):
try:
xml = etree(xmlfile)
except ValidationError as e:
- print("XML file is invalid: %s" % str(e))
+ print(f"XML file is invalid: {e}")
# Use default XML if no initvm was specified
if not xml.has("initvm"):
xmlfile = os.path.join(
@@ -593,12 +577,14 @@ class CreateAction(InitVMAction):
with PreprocessWrapper(xmlfile, opt) as ppw:
if cdrom:
- system('%s init %s --directory "%s" --cdrom "%s" "%s"' %
- (elbe_exe, init_opts, initvmdir, cdrom, ppw.preproc))
+ system(
+ f'{elbe_exe} init {init_opts} '
+ f'--directory "{initvmdir}" --cdrom "{cdrom}" '
+ f'"{ppw.preproc}"')
else:
system(
- '%s init %s --directory "%s" "%s"' %
- (elbe_exe, init_opts, initvmdir, ppw.preproc))
+ f'{elbe_exe} init {init_opts} '
+ f'--directory "{initvmdir}" "{ppw.preproc}"')
except CommandError:
print("'elbe init' Failed", file=sys.stderr)
@@ -614,20 +600,20 @@ class CreateAction(InitVMAction):
self.conn.defineXML(xml)
except CommandError:
print('Registering initvm in libvirt failed', file=sys.stderr)
- print('Try `virsh --connect qemu:///system undefine %s` to delete existing initvm' % cfg['initvm_domain'],
+ print(f"Try `virsh --connect qemu:///system undefine {cfg['initvm_domain']}` to delete existing initvm",
file=sys.stderr)
sys.exit(20)
# Build initvm
try:
- system('cd "%s"; make' % (initvmdir))
+ system(f'cd "{initvmdir}"; make')
except CommandError:
print("Building the initvm Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
sys.exit(20)
try:
- system('%s initvm start' % elbe_exe)
+ system(f'{elbe_exe} initvm start')
except CommandError:
print("Starting the initvm Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
@@ -641,7 +627,7 @@ class CreateAction(InitVMAction):
try:
x = etree(args[0])
except ValidationError as e:
- print("XML file is invalid: %s" % str(e))
+ print(f"XML file is invalid: {e}")
sys.exit(20)
if not x.has('project'):
print("elbe initvm ready: use 'elbe initvm submit "
@@ -663,7 +649,7 @@ class SubmitAction(InitVMAction):
def execute(self, _initvmdir, opt, args):
try:
- system('%s initvm ensure' % elbe_exe)
+ system(f'{elbe_exe} initvm ensure')
except CommandError:
print("Starting the initvm Failed", file=sys.stderr)
print("Giving up", file=sys.stderr)
@@ -703,8 +689,7 @@ class SyncAction(InitVMAction):
"--exclude='.git*' --exclude='*.pyc' --exclude='elbe-build*' "
"--exclude='initvm' --exclude='__pycache__' --exclude='docs' "
"--exclude='examples' "
- "--rsh='ssh -p %s' --chown=root:root "
- "%s/ root at localhost:/var/cache/elbe/devel" %
- (cfg["sshport"], top_dir))
+ f"--rsh='ssh -p {cfg['sshport']}' --chown=root:root "
+ f"{top_dir}/ root at localhost:/var/cache/elbe/devel")
except CommandError as E:
print(E)
--
2.38.1
More information about the elbe-devel
mailing list