def exec(bossman: Bossman, glob, force=False, **kwargs): resources = bossman.get_resources(glob=glob) for resource in resources: console.rule(str(resource)) status = bossman.get_resource_status(resource) missing_revisions = list(status.missing_revisions) console.print(":notebook: {} changes pending".format(len(missing_revisions)), justify="center") if status.dirty: if not force: console.print(":stop_sign: [magenta]dirty, skipping[/magenta] :stop_sign:", justify="center") continue else: console.print(":exclamation_mark: [red]dirty, force applying[/red] :exclamation_mark:", justify="center") for (idx, revision) in enumerate(missing_revisions): console.print(Panel(revision, title="{}/{}".format(idx+1, len(missing_revisions)))) bossman.apply_change(resource, revision) else: console.print(":cookie: [green]all done[green] :cookie:", justify="center")
def exec(bossman: Bossman, glob, *args, **kwargs): resources = bossman.get_resources(glob=glob) if len(resources): table = Table() table.add_column("Resource") table.add_column("Revision") table.add_column("Pending") table.add_column("Clean") for resource in resources: status = bossman.get_resource_status(resource) table.add_row(resource, "".join(render_revision(resource, status)), "".join(render_pending(resource, status)), "".join(render_clean(resource, status))) print(table) else: print( "No resources to show: check the glob pattern if provided, or the configuration." )