From a5abc3dbaab2690c756ac8140cff78ac52d52358 Mon Sep 17 00:00:00 2001 From: harshadyeola Date: Tue, 23 Dec 2014 15:28:45 +0530 Subject: [PATCH 1/3] minor changes --- ee/cli/plugins/stack.py | 1 - ee/core/aptget.py | 14 +++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ee/cli/plugins/stack.py b/ee/cli/plugins/stack.py index 7e33e81d..1e35b2ed 100644 --- a/ee/cli/plugins/stack.py +++ b/ee/cli/plugins/stack.py @@ -314,7 +314,6 @@ class EEStackController(CementBaseController): self.pre_pref(apt_packages) if len(apt_packages): - pkg.update() pkg.install(apt_packages) if len(packages): EEDownload.download(packages) diff --git a/ee/core/aptget.py b/ee/core/aptget.py index 5c10b1e9..285c3a96 100644 --- a/ee/core/aptget.py +++ b/ee/core/aptget.py @@ -14,13 +14,14 @@ class EEAptGet: def update(self): """Similar to apt-get update""" self.cache.update(self.fprogress) - pass + self.cache.open() def upgrade(self, packages): """Similar to apt-get update""" my_selected_packages = [] # Cache Initialization - self.cache = apt.Cache() + if not self.cache: + self.cache = apt.Cache() # Cache Read self.cache.open() for package in packages: @@ -64,9 +65,11 @@ class EEAptGet: """Installation of packages""" my_selected_packages = [] # Cache Initialization - self.cache = apt.Cache() + if not self.cache: + self.cache = apt.Cache() # Cache Read self.cache.open() + for package in packages: pkg = self.cache[package] # Check Package Installed @@ -132,6 +135,11 @@ class EEAptGet: def remove(self, packages, auto=True, purge=False): my_selected_packages = [] + # Cache Initialization + if not self.cache: + self.cache = apt.Cache() + # Cache Read + self.cache.open() for package in packages: print("processing", package) package = self.cache[package] From 976cf5a874ed3222e4cace876765e55df2fcd598 Mon Sep 17 00:00:00 2001 From: "shital.rtcamp" Date: Tue, 23 Dec 2014 15:48:59 +0530 Subject: [PATCH 2/3] test case --- tests/cli/test_stack.py | 76 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 tests/cli/test_stack.py diff --git a/tests/cli/test_stack.py b/tests/cli/test_stack.py new file mode 100644 index 00000000..a108e594 --- /dev/null +++ b/tests/cli/test_stack.py @@ -0,0 +1,76 @@ +from ee.utils import test +from ee.cli.main import get_test_app + + +class CliTestCaseStack(test.EETestCase): + + def test_ee_cli(self): + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_web(self): + self.app = get_test_app(argv=['stack', 'install', '--web']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_admin(self): + self.app = get_test_app(argv=['stack', 'install', '--admin']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_mail(self): + self.app = get_test_app(argv=['stack', 'install', '--mail']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_nginx(self): + self.app = get_test_app(argv=['stack', 'install', '--nginx']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_php(self): + self.app = get_test_app(argv=['stack', 'install', '--php']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_mysql(self): + self.app = get_test_app(argv=['stack', 'install', '--mysql']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_postfix(self): + self.app = get_test_app(argv=['stack', 'install', '--postfix']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_wpcli(self): + self.app = get_test_app(argv=['stack', 'install', '--wpcli']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_phpmyadmin(self): + self.app = get_test_app(argv=['stack', 'install', '--phpmyadmin']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_adminer(self): + self.app = get_test_app(argv=['stack', 'install', '--adminer']) + self.app.setup() + self.app.run() + self.app.close() + + def test_ee_cli_stack_install_utils(self): + self.app = get_test_app(argv=['stack', 'install', '--utils']) + self.app.setup() + self.app.run() + self.app.close() From 4499c088acd34c5ae5f5f43600b9df08d67fc0a6 Mon Sep 17 00:00:00 2001 From: harshadyeola Date: Tue, 23 Dec 2014 15:56:00 +0530 Subject: [PATCH 3/3] Exception handling while package install --- ee/core/aptget.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ee/core/aptget.py b/ee/core/aptget.py index 285c3a96..efa35f41 100644 --- a/ee/core/aptget.py +++ b/ee/core/aptget.py @@ -71,7 +71,10 @@ class EEAptGet: self.cache.open() for package in packages: - pkg = self.cache[package] + try: + pkg = self.cache[package] + except KeyError as e: + continue # Check Package Installed if pkg.is_installed or pkg.marked_install: # Check Package is Upgradeble @@ -83,7 +86,7 @@ class EEAptGet: if not pkg.marked_install: print("\'{package_name}-{package_ver}\'" "already the newest version" - .format(package_name=pkg.name, + .format(package_name=pkg.shortname, package_ver=pkg.installed)) else: with self.cache.actiongroup():