From 1b53eefe575e63d8995e7fc9065bec99dbe38927 Mon Sep 17 00:00:00 2001 From: Robert Gogolok Date: Fri, 28 Dec 2007 17:50:15 +0000 Subject: fix case: info file gets moved as part of an upper directory, e.g. mv Cfg/etc/passwd /tmp git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4119 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Plugins/Cfg.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/lib/Server/Plugins') diff --git a/src/lib/Server/Plugins/Cfg.py b/src/lib/Server/Plugins/Cfg.py index b273d1751..3c550391e 100644 --- a/src/lib/Server/Plugins/Cfg.py +++ b/src/lib/Server/Plugins/Cfg.py @@ -93,7 +93,18 @@ class ConfigFileEntry(object): self.interpolate = False self.paranoid = False filename = "%s/%s" % (self.repopath, name) - for line in open(filename).readlines(): + + # case: info file gets moved as part of an upper directory, + # e.g. mv Cfg/etc/passwd /tmp. + # Then comes first the event 'changed' for the info file + # and afterwards events 'changed' and 'deleted' for the + # actual config file and directory. + try: + lines = open(filename).readlines() + except IOError: + return + + for line in lines: match = self.info.match(line) if not match: if not self.iignore.match(line): -- cgit v1.2.3-1-g7c22