def run(self): provName = self.get_option('name') orgName = self.get_option('org') prov = get_provider(orgName, provName) task = AsyncTask(self.api.last_sync_status(prov['id'])) if task.is_running(): pkgsTotal = task.total_count() pkgsLeft = task.items_left() prov['progress'] = (_("%(task_progress)d%% done (%(pkgsCount)d of %(pkgsTotal)d packages downloaded)") % \ {'task_progress':task.get_progress()*100, 'pkgsCount':pkgsTotal-pkgsLeft, 'pkgsTotal':pkgsTotal}) #TODO: last errors? self.printer.add_column('id', _("ID")) self.printer.add_column('name', _("Name")) self.printer.add_column('last_sync', _("Last Sync"), formatter=format_sync_time) self.printer.add_column('sync_state', _("Sync State"), formatter=format_sync_state) self.printer.add_column('progress', _("Progress"), show_with=printer.VerboseStrategy) self.printer.set_header(_("Provider Status")) self.printer.print_item(prov) return os.EX_OK
def run(self): orgName = self.get_option('org') prodName = self.get_option('name') prodLabel = self.get_option('label') prodId = self.get_option('id') prod = get_product(orgName, prodName, prodLabel, prodId) task = AsyncTask(self.api.last_sync_status(orgName, prod['id'])) if task.is_running(): pkgsTotal = task.total_count() pkgsLeft = task.items_left() prod['progress'] = ("%d%% done (%d of %d packages downloaded)" % (task.get_progress()*100, pkgsTotal-pkgsLeft, pkgsTotal)) #TODO: last errors? batch_add_columns(self.printer, {'id': _("ID")}, {'name': _("Name")}, \ {'provider_id': _("Provider ID")}, {'provider_name': _("Provider Name")}) self.printer.add_column('last_sync', _("Last Sync"), formatter=format_sync_time) self.printer.add_column('sync_state', _("Sync State"), formatter=format_sync_state) self.printer.add_column('progress', _("Progress"), show_with=printer.VerboseStrategy) self.printer.set_header(_("Product Status")) self.printer.print_item(prod) return os.EX_OK
def run(self): repo = self.get_repo() task = AsyncTask(self.api.last_sync_status(repo["id"])) if task.is_running(): pkgsTotal = task.total_count() pkgsLeft = task.items_left() repo["progress"] = "%(task_progress)d%% done (%(pkgs_count)d of %(pkgs_total)d packages downloaded)" % { "task_progress": task.get_progress() * 100, "pkgs_count": pkgsTotal - pkgsLeft, "pkgs_total": pkgsTotal, } repo["last_errors"] = format_sync_errors(task) self.printer.add_column("package_count", _("Package Count")) self.printer.add_column("last_sync", _("Last Sync"), formatter=format_sync_time) self.printer.add_column("sync_state", _("Sync State"), formatter=format_sync_state) if "next_scheduled_sync" in repo: self.printer.add_column("next_scheduled_sync", _("Next Scheduled Sync"), formatter=format_sync_time) self.printer.add_column("progress", _("Progress"), show_with=printer.VerboseStrategy) self.printer.add_column("last_errors", _("Last Errors"), multiline=True, show_with=printer.VerboseStrategy) self.printer.set_header(_("Repository Status")) self.printer.print_item(repo) return os.EX_OK
def run(self): provName = self.get_option("name") orgName = self.get_option("org") prov = get_provider(orgName, provName) task = AsyncTask(self.api.last_sync_status(prov["id"])) if task.is_running(): pkgsTotal = task.total_count() pkgsLeft = task.items_left() prov["progress"] = _("%(task_progress)d%% done (%(pkgsCount)d of %(pkgsTotal)d packages downloaded)") % { "task_progress": task.get_progress() * 100, "pkgsCount": pkgsTotal - pkgsLeft, "pkgsTotal": pkgsTotal, } # TODO: last errors? self.printer.add_column("id", _("ID")) self.printer.add_column("name", _("Name")) self.printer.add_column("last_sync", _("Last Sync"), formatter=format_sync_time) self.printer.add_column("sync_state", _("Sync State"), formatter=format_sync_state) self.printer.add_column("progress", _("Progress"), show_with=printer.VerboseStrategy) self.printer.set_header(_("Provider Status")) self.printer.print_item(prov) return os.EX_OK
def run_async_task_with_status(task, progress_bar, delay=1): if not isinstance(task, AsyncTask): task = AsyncTask(task) while task.is_running(): time.sleep(delay) task.update() progress_bar.update_progress(task.get_progress()) progress_bar.done() return task.get_hashes()
def run(self): repo = self.get_repo() task = AsyncTask(self.api.last_sync_status(repo['id'])) if task.is_running(): pkgsTotal = task.total_count() pkgsLeft = task.items_left() repo['progress'] = ("%(task_progress)d%% done (%(pkgs_count)d of %(pkgs_total)d packages downloaded)" % {'task_progress':task.get_progress()*100, 'pkgs_count':pkgsTotal-pkgsLeft, 'pkgs_total':pkgsTotal}) repo['last_errors'] = format_sync_errors(task) self.printer.add_column('package_count', _("Package Count")) self.printer.add_column('last_sync', _("Last Sync"), formatter=format_sync_time) self.printer.add_column('sync_state', _("Sync State"), formatter=format_sync_state) if 'next_scheduled_sync' in repo: self.printer.add_column('next_scheduled_sync', _("Next Scheduled Sync"), formatter=format_sync_time) self.printer.add_column('progress', _("Progress"), show_with=printer.VerboseStrategy) self.printer.add_column('last_errors', _("Last Errors"), multiline=True, show_with=printer.VerboseStrategy) self.printer.set_header(_("Repository Status")) self.printer.print_item(repo) return os.EX_OK