]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blobdiff - modules/baseftptree.py
- from-incoming.py uses Base{FtpTree,Pkg}; now I can implement sending errors
[projects/pld-ftp-admin.git] / modules / baseftptree.py
index 4ce40b3138f915c32aba5d092cc2cd584c0bb490..8524420b938b7e2c2483b46c88873d541b96a3bf 100644 (file)
@@ -1,6 +1,7 @@
 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
 
 import string, config
+from common import fileexists
 
 class Build:
     def __init__(self):
@@ -8,20 +9,28 @@ class Build:
         self.requester_email=''
 
 class BasePkg:
-    def __init__(self, name, tree):
+    def __init__(self, name, tree=None, content=None):
         self.files={}
         self.info={}
         self.build={}
+        self.noarch_arch={}
         self.tree=tree
         self.name=name
-        self.load()
+        self.load(content)
 
     def __repr__(self):
         return self.name
 
-    def load(self):
-        f=open(self.tree.basedir+'/SRPMS/.metadata/'+self.name+'.src.rpm.info', 'r')
-        for entry in f.readlines():
+    def load(self, content=None):
+        if content:
+            lines=content.splitlines()
+        else:
+            f=open("%s/SRPMS/.metadata/%s.src.rpm.info" % 
+                   (self.tree.basedir, self.name), 'r')
+            lines=f.readlines()
+            f.close()
+
+        for entry in lines:
             i=string.split(string.strip(entry), ':')
             if i[0] == 'info':
                 if len(i)==3:
@@ -33,13 +42,14 @@ class BasePkg:
                         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 not self.files.has_key(i[1]):
                     self.files[i[1]]=[]
                 self.files[i[1]].append(i[2])
-        f.close()
 
 class BaseFtpTree:
     def __init__(self, tree):
@@ -49,3 +59,9 @@ class BaseFtpTree:
     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
+
This page took 0.03874 seconds and 4 git commands to generate.