From c33a60caa7457dc9baeabe89b415ef8ce3b2e7f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 14 Nov 2014 13:53:52 +0100 Subject: [PATCH] hobos: gently skip over uptodate sites (#5939) --- wcs/ctl/check_hobos.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/wcs/ctl/check_hobos.py b/wcs/ctl/check_hobos.py index 5d3860a..311c291 100644 --- a/wcs/ctl/check_hobos.py +++ b/wcs/ctl/check_hobos.py @@ -27,6 +27,10 @@ from qommon.ctl import Command, make_option from qommon.storage import atomic_write +class NoChange(Exception): + pass + + class CmdCheckHobos(Command): name = 'check-hobos' @@ -63,7 +67,12 @@ class CmdCheckHobos(Command): print 'updating instance in', pub.app_dir pub.set_config() - self.configure_site_options(service, pub) + try: + self.configure_site_options(service, pub) + except NoChange: + print ' skipping' + continue + self.update_configuration(service, pub) self.configure_authentication_methods(service, pub) self.configure_sql(service, pub) @@ -140,6 +149,12 @@ class CmdCheckHobos(Command): if os.path.exists(site_options_filepath): config.read(site_options_filepath) + try: + if config.getint('hobo', 'timestamp') == self.all_services.get('timestamp'): + raise NoChange() + except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): + pass + if not 'hobo' in config.sections(): config.add_section('hobo') config.set('hobo', 'timestamp', self.all_services.get('timestamp')) -- 2.1.3