From 27bce136eb82a5033761c39015a96942705940a4 Mon Sep 17 00:00:00 2001 From: Mykyta Holubakha Date: Sun, 11 Jun 2017 04:19:27 +0300 Subject: Proper global error handling --- pomu/cli.py | 36 +++++++++++++++++++----------------- pomu/repo/repo.py | 6 +++--- 2 files changed, 22 insertions(+), 20 deletions(-) (limited to 'pomu') diff --git a/pomu/cli.py b/pomu/cli.py index 25a9652..ab71861 100644 --- a/pomu/cli.py +++ b/pomu/cli.py @@ -44,32 +44,25 @@ def init(globalvars, list_repos, create, repo_dir, repo): for prepo in portage_repos(): print('\t', prepo, portage_repo_path(prepo)) return - try: - if globalvars.no_portage: - print(init_plain_repo(create, globalvars.repo_path).expect()) - else: - print(init_portage_repo(create, repo, repo_dir).expect()) - except ResultException as e: - print(str(e)) + if globalvars.no_portage: + print(init_plain_repo(create, globalvars.repo_path).expect()) + else: + print(init_portage_repo(create, repo, repo_dir).expect()) @main.command() @pass_globals def status(globalvars): """Display pomu status""" - res = pomu_active_repo_(globalvars.no_portage, globalvars.repo_path) - if res.is_ok(): - repo = res.ok() - if repo.name: - print('pomu is initialized for reporitory', repo.name, 'at', repo.root) - else: - print('pomu is initialized at', repo.root) + repo = pomu_active_repo_(globalvars.no_portage, globalvars.repo_path).expect() + if repo.name: + print('pomu is initialized for reporitory', repo.name, 'at', repo.root) else: - print('Error:', res.err()) + print('pomu is initialized at', repo.root) @main.command() @click.argument('package', required=True) @pass_globals -def install(self): +def install(globalvars): res = dispatcher.install_package(package).expect() print(res) @@ -78,7 +71,7 @@ def install(self): help='Specify the package to remove by uri, instead of its name') @click.argument('package', required=True) @pass_globals -def uninstall(self): +def uninstall(globalvars): if uri: res = dispatcher.uninstall_package(package).expect() print(res) @@ -93,3 +86,12 @@ def uninstall(self): def fetch(self): pkg = dispatcher.get_package(package).expect() print('Fetched package', pkg.name, 'at', pkg.root) + +def main_(): + try: + main.main(standalone_mode=False) + except ResultException as e: + print(str(e)) + +if __name__ == '__main__': + main_() diff --git a/pomu/repo/repo.py b/pomu/repo/repo.py index 690869c..2d69a06 100644 --- a/pomu/repo/repo.py +++ b/pomu/repo/repo.py @@ -1,5 +1,5 @@ """Subroutines with repositories""" -from os import path, mkdirs, remove, rmdir +from os import path, makedirs, remove, rmdir from shutil import copy2 from git import Repo @@ -48,7 +48,7 @@ class Repository(): if path.isfile(pf): remove_file(pf) r.commit('Removed package ' + package.name + ' successfully') - return Result.Ok('Removed package ' + package.name ' successfully') + return Result.Ok('Removed package ' + package.name + ' successfully') def remove_package(self, name): pf = path.join(self.pomu_dir, package.name) @@ -59,7 +59,7 @@ class Repository(): remove_file(path.join(self.root, insf)) remove_file(pf) r.commit('Removed package ' + package.name + ' successfully') - return Result.Ok('Removed package ' + package.name ' successfully') + return Result.Ok('Removed package ' + package.name + ' successfully') -- cgit v1.2.3-65-gdbad