From e1b9e7fe3b1fa6b6e829f7eb5787b67d9894cfd1 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Fri, 2 May 2014 17:28:38 +0200 Subject: pkg_services: Check if a service is actually installed So far we returned the full list from pkg_services. This is o.k. for many to one mappings like apache but not for one to many like openjdk. To avoid to print out services that aren't installed check that beforehand. --- whatmaps/distro.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'whatmaps/distro.py') diff --git a/whatmaps/distro.py b/whatmaps/distro.py index e4f417f..5625955 100644 --- a/whatmaps/distro.py +++ b/whatmaps/distro.py @@ -48,13 +48,19 @@ class Distro(object): """Restart a service""" subprocess.call(klass.restart_service_cmd(service)) + @classmethod + def is_service_installed(klass, service): + """Check wether a service exists on the system""" + return True + @classmethod def pkg_services(klass, pkg): """ List of services that package pkg needs restarted that aren't part of pkg itself """ - return klass._pkg_services.get(pkg.name, []) + return [ s for s in klass._pkg_services.get(pkg.name, []) + if klass.is_service_installed(s) ] @classmethod def pkg_service_blacklist(klass, pkg): -- cgit v1.2.3