Beispiel #1
0
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")
Beispiel #2
0
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."
        )