def run(self): repo = self.get_repo() task = AsyncTask(self.api.last_sync_status(repo['id'])) repo['last_sync'] = format_sync_time(repo['last_sync']) repo['sync_state'] = format_sync_state(repo['sync_state']) if 'next_scheduled_sync' in repo: repo['next_scheduled_sync'] = format_sync_time(repo['next_scheduled_sync']) if task.is_running(): pkgsTotal = task.total_count() pkgsLeft = task.items_left() repo['progress'] = ("%d%% done (%d of %d packages downloaded)" % (task.get_progress()*100, pkgsTotal-pkgsLeft, pkgsTotal)) repo['last_errors'] = format_sync_errors(task) self.printer.addColumn('package_count') self.printer.addColumn('last_sync') self.printer.addColumn('sync_state') if 'next_scheduled_sync' in repo: self.printer.addColumn('next_scheduled_sync') self.printer.addColumn('progress', show_in_grep=False) self.printer.addColumn('last_errors', multiline=True, show_in_grep=False) self.printer.setHeader(_("Repository Status")) self.printer.printItem(repo) return os.EX_OK
def run(self): repo = self.get_repo() task = AsyncTask(self.api.sync(repo['id'])) run_async_task_with_status(task, ProgressBar()) if task.succeeded(): print _("Repo [ %s ] synced" % repo['name']) return os.EX_OK elif task.cancelled(): print _("Repo [ %s ] synchronization cancelled" % repo['name']) return os.EX_OK else: print _("Repo [ %s ] failed to sync: %s" % (repo['name'], format_sync_errors(task)) ) return os.EX_DATAERR
def sync_provider(self, providerName, orgName): prov = get_provider(orgName, providerName) task = AsyncTask(self.api.sync(prov["id"])) run_async_task_with_status(task, ProgressBar()) if task.failed(): errors = format_sync_errors(task) print _("Provider [ %s ] failed to sync: %s" % (providerName, errors)) return os.EX_DATAERR elif task.cancelled(): print _("Provider [ %s ] synchronization canceled" % providerName) return os.EX_DATAERR print _("Provider [ %s ] synchronized" % providerName) return os.EX_OK
def sync_provider(self, providerName, orgName): prov = get_provider(orgName, providerName) task = AsyncTask(self.api.sync(prov["id"])) run_async_task_with_status(task, ProgressBar()) if task.failed(): errors = format_sync_errors(task) print _("Provider [ %s ] failed to sync: %s" % (providerName, errors)) return os.EX_DATAERR elif task.cancelled(): print _("Provider [ %s ] synchronization cancelled" % providerName) return os.EX_DATAERR print _("Provider [ %s ] synchronized" % providerName) 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'] = ("%d%% done (%d of %d packages downloaded)" % (task.get_progress()*100, pkgsTotal-pkgsLeft, pkgsTotal)) repo['last_errors'] = format_sync_errors(task) self.printer.add_column('package_count') self.printer.add_column('last_sync', formatter=format_sync_time) self.printer.add_column('sync_state', formatter=format_sync_state) if 'next_scheduled_sync' in repo: self.printer.add_column('next_scheduled_sync', formatter=format_sync_time) self.printer.add_column('progress', show_with=printer.VerboseStrategy) self.printer.add_column('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): 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