# vi: encoding=utf-8 ts=8 sts=4 sw=4 et import string, config from common import fileexists class Build: def __init__(self): self.requester='' self.requester_email='' class BasePkg: def __init__(self, nvr, tree=None, content=None): self.files={} self.info={} self.build={} self.noarch_arch={} self.tree=tree self.nvr=nvr self.load(content) def __repr__(self): return self.nvr def load(self, content=None): if content: lines=content.splitlines() else: f=open("%s/SRPMS/.metadata/%s.src.rpm.info" % (self.tree.basedir, self.nvr), 'r') lines=f.readlines() f.close() for entry in lines: i=str.split(str.strip(entry), ':') if i[0] == 'info': if len(i)==3: self.info[i[1]]=i[2] elif i[1]=='build': if i[2] not in self.build: self.build[i[2]]=Build() self.lastbid=i[2] if i[3]=='requester': self.build[i[2]].requester=i[4] elif i[3]=='requester_email': self.build[i[2]].requester_email=i[4] elif i[1]=='noarch_arch': self.noarch_arch[i[2]]=i[3] else: self.info[i[1]]=i[2:] elif i[0] == 'file': if i[1] not in self.files: self.files[i[1]]=[] self.files[i[1]].append(i[2]) class BaseFtpTree: def __init__(self, tree): self.basedir=config.value['ftp_dir']+'/'+tree self.treename=tree def __repr__(self): return self.treename def has_key(self, key): if fileexists(self.basedir+'/SRPMS/.metadata/'+key+'.src.rpm.info'): return True else: return False