class archiveInstance(object): def __init__(self): self.Name = Observable(None) self.FullPath = Observable(None) self.Magic = Observable(None) self.Format = Observable(None) self.Directory = Observable(None) self.Magic.addCallback(self,self.OnMagic) def update(self,source): self.Name.update(source.Name.get()) self.FullPath.update(source.FullPath.get()) self.Magic.update(source.Magic.get()) self.Format.update(source.Format.get()) self.Directory.update(source.Directory.get()) def OnMagic(self): format = None magicString = self.Magic.get() cleanstring = str.strip(magicString) splitLine = cleanstring.split(', ') if splitLine[0] in formatMap.keys(): format = formatMap[splitLine[0]] self.Format.update(format)