better arg parsing; better env var parsing
This commit is contained in:
parent
830f0fb084
commit
bd0527e003
1 changed files with 11 additions and 14 deletions
|
|
@ -77,16 +77,16 @@ def setup_config_parser(ini_file, parent_cmd, packages):
|
||||||
return config
|
return config
|
||||||
|
|
||||||
|
|
||||||
def get_description(preorpost, config, section):
|
def get_description(type, config, section):
|
||||||
desc_limit = config.getint(section, "desc_limit")
|
desc_limit = config.getint(section, "desc_limit")
|
||||||
if preorpost == "pre":
|
if type == "pre":
|
||||||
return config.get(section, "pre_description")[:desc_limit]
|
return config.get(section, "pre_description")[:desc_limit]
|
||||||
else:
|
else:
|
||||||
return config.get(section, "post_description")[:desc_limit]
|
return config.get(section, "post_description")[:desc_limit]
|
||||||
|
|
||||||
|
|
||||||
def get_pre_number(preorpost, prefile):
|
def get_pre_number(type, prefile):
|
||||||
if preorpost == "pre":
|
if type == "pre":
|
||||||
pre_number = None
|
pre_number = None
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
|
@ -104,7 +104,7 @@ def write_pre_number(num, prefile):
|
||||||
|
|
||||||
def main(snap_pac_ini, snapper_conf_file, args):
|
def main(snap_pac_ini, snapper_conf_file, args):
|
||||||
|
|
||||||
if os.getenv("SNAP_PAC_SKIP", "n") in ["y", "Y", "yes", "Yes", "YES"]:
|
if os.getenv("SNAP_PAC_SKIP", "n").lower() in ["y", "yes", "true", "1"]:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
parent_cmd = os.popen(f"ps -p {os.getppid()} -o args=").read().strip()
|
parent_cmd = os.popen(f"ps -p {os.getppid()} -o args=").read().strip()
|
||||||
|
|
@ -125,14 +125,14 @@ def main(snap_pac_ini, snapper_conf_file, args):
|
||||||
logging.debug(f"{prefile = }")
|
logging.debug(f"{prefile = }")
|
||||||
|
|
||||||
cleanup_algorithm = config.get(c, "cleanup_algorithm")
|
cleanup_algorithm = config.get(c, "cleanup_algorithm")
|
||||||
description = get_description(args.preorpost, config, c)
|
description = get_description(args.type, config, c)
|
||||||
pre_number = get_pre_number(args.preorpost, prefile)
|
pre_number = get_pre_number(args.type, prefile)
|
||||||
|
|
||||||
snapper_cmd = SnapperCmd(c, args.preorpost, cleanup_algorithm, description, chroot, pre_number)
|
snapper_cmd = SnapperCmd(c, args.type, cleanup_algorithm, description, chroot, pre_number)
|
||||||
num = snapper_cmd()
|
num = snapper_cmd()
|
||||||
logging.info(f"==> {c}: {num}")
|
logging.info(f"==> {c}: {num}")
|
||||||
|
|
||||||
if args.preorpost == "pre":
|
if args.type == "pre":
|
||||||
write_pre_number(num, prefile)
|
write_pre_number(num, prefile)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
@ -145,11 +145,8 @@ if __name__ == "__main__":
|
||||||
snapper_conf_file = "/etc/conf.d/snapper"
|
snapper_conf_file = "/etc/conf.d/snapper"
|
||||||
logging.debug(f"{snapper_conf_file = }")
|
logging.debug(f"{snapper_conf_file = }")
|
||||||
|
|
||||||
parser = ArgumentParser()
|
parser = ArgumentParser(description="Script for taking pre/post snapper snapshots. Used with pacman hooks.")
|
||||||
parser.add_argument(dest="preorpost")
|
parser.add_argument(dest="type", choices=["pre", "post"])
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
if args.preorpost not in ["pre", "post"]:
|
|
||||||
raise ValueError("preorpost must be 'pre' or 'post'")
|
|
||||||
|
|
||||||
main(snap_pac_ini, snapper_conf_file, args)
|
main(snap_pac_ini, snapper_conf_file, args)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue