def __init__(self): BaseDB.__init__(self, joinWrestlerDir("wrestlers.db")) wrestlerFiles = glob.glob(joinWrestlerDir("*.py")) basenames = [os.path.basename(f) for f in wrestlerFiles] self._openDB('c') # If there were new wrestlers added to the "Wrestlers" directory # since the last time we opened the db, add them to the db here. newFiles = self.getKeysNotInDB(basenames) mods = {} for newFile in newFiles: mod = util.getWrestlerModule(newFile) if mod: self.db[newFile] = { "NAME": mod.name, "NAMESET": getattr(mod, "nameSet", ""), "MTIME": os.stat(joinWrestlerDir(newFile)).st_mtime } # If any of the wrestlers have been modified since the last time # we opened the db then update the wrestlers' records in the db. for filename in self.db: record = self.db.get(filename, {}) fileMtime = os.stat(joinWrestlerDir(filename)).st_mtime if record and record.get("MTIME", -1) < fileMtime: mod = util.getWrestlerModule(filename) if mod: # Wrestler may have changed since the last time we # opened the db so we reload the wrestler module. reload(mod) record["NAME"] = mod.name record["NAMESET"] = getattr(mod, "nameSet", "") record["MTIME"] = fileMtime self.db[filename] = record self.save()
def loadWrestler(self, wrestler): self.clearFields() # Ensure we're working with a *.py self.loadedFileName = wrestler.path wrestler = getWrestlerModule(wrestler.path) self.setStatusText("Loaded " + self.loadedFileName) self.nameCtrl.SetValue(wrestler.name) self.populateTwoValueRow("sub", wrestler) self.populateTwoValueRow("tagTeam", wrestler) self.populateTwoValueRow("priority", wrestler) self.setCardValues("generalCard", wrestler) self.setCardValues("defensiveCard", wrestler) self.setCardValues("offensiveCard", wrestler) self.setCardValues("ropesCard", wrestler) self.setCardValues("specialtyCard", wrestler) if hasattr(wrestler, "nameSet"): self.nameSetCtrl.SetValue(wrestler.nameSet)