def readConfigFile(self, file=""): """Parse a configfile @param self A LTCConfigParser instance @param file A filepath string. Default is self.configfile """ print("__readConfigFile:", file) if not file and self.configfile: file = self.configfile elif not file and not self.configfile: return self.configfile = file self.backupfile = file + "~" # Register mtime and sha512sum self.st_mtime = os.stat(file).st_mtime self.hash = sha512sum(file) self._config = ET.parse(file, parser=self._parser).getroot() self._name = self._config.find("name") self._profiles = self._config.find("profiles") self._profileFalse = self._config.find("profileFalse") self._users = self._config.find("users") self._keys = self._config.find("keys")
def run(self): """Thread main routine Check if timestamp of configfile is different of self.configparser If yes, check if sha512sum is different If yes, reload configs @param self A FileChecker instance """ if not os.path.isfile(configfile): return if os.stat(configfile).st_mtime != self.configparser.st_mtime: hash = sha512sum(configfile) if hash != self.configparser.hash: print("__ refreshConfigFile") self.configparser.readConfigFile() self.reload.emit()