extras-repoclosure rc-report.py,1.34,1.35

Michael Schwendt (mschwendt) fedora-extras-commits at redhat.com
Tue Jan 9 12:01:00 UTC 2007


Author: mschwendt

Update of /cvs/fedora/extras-repoclosure
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2024

Modified Files:
	rc-report.py 
Log Message:



Index: rc-report.py
===================================================================
RCS file: /cvs/fedora/extras-repoclosure/rc-report.py,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- rc-report.py	9 Jan 2007 09:57:26 -0000	1.34
+++ rc-report.py	9 Jan 2007 12:00:58 -0000	1.35
@@ -9,6 +9,7 @@
 import smtplib
 
 from PackageOwners import PackageOwners
+from History import History
 
 sys.path.append('/srv/extras-push/work/buildsys-utils/pushscript')
 import Utils, RepoSupport
@@ -34,78 +35,6 @@
 # Where to check out owners/owners.list
 ownersworkdir = '/srv/extras-push/work/extras-repoclosure'
 
-# We identify broken packages based on their src.rpm name and don't report
-# them more than once until expiration.
-class History:
-
-    def _reset(self):
-        self.history = {}
-        self.incoming = {}
-        self.expired = {}
-
-    def __init__(self,release): # Load history map file and expire its contents.
-        self._reset()
-        self.historyname = 'history-%s.pickle' % release
-        try:
-            f = file(self.historyname,'r')
-        except:
-            return
-        self.tmpdict = pickle.load(f)
-        f.close()
-        # Build up history/expired dicts.
-        for srcrpm,tmpdict in self.tmpdict.iteritems():
-            reporteddate = tmpdict['reported']
-            if ( reporteddate+waitdelta > today ):
-                self.history[srcrpm] = self.tmpdict[srcrpm]
-            else:
-                # Filter out entries which are too old.
-                # We collect them in a different dict, so they are not
-                # lost when we discover that a src.rpm is still broken.
-                self.expired[srcrpm] = self.tmpdict[srcrpm]
-
-    def Save(self):
-        for srcrpm,dict in self.incoming.iteritems():
-            self.history[srcrpm] = dict
-        f = file(self.historyname,'w')
-        pickle.dump(self.history,f)
-        f.close()
-
-    def Set(self,srcrpmname,discovereddate,reporteddate):
-        self.history[srcrpmname] = {
-            'discovered' : discovereddate,
-            'reported' : reporteddate
-            }
-
-    def SetDelayed(self,srcrpmname,discovereddate,reporteddate):
-        self.incoming[srcrpmname] = {
-            'discovered' : discovereddate,
-            'reported' : reporteddate
-            }
-
-    def Get(self,srcrpmname):
-        if self.history.has_key(srcrpmname):
-            return self.history[srcrpmname]
-        elif self.expired.has_key(srcrpmname):
-            # Reactivate an expired entry next time.
-            self.SetDelayed(srcrpmname,self.expired[srcrpmname]['discovered'],today)
-            return None  # resend mail
-        else:
-            # Store new entry.
-            self.SetDelayed(srcrpmname,today,today)
-            return None
-
-    def GetAge(self,srcrpmname):
-        if self.history.has_key(srcrpmname):
-            r = self.history[srcrpmname]
-        elif self.expired.has_key(srcrpmname):
-            r = self.expired[srcrpmname]
-        else:
-            return ''
-        d = today-r['discovered']
-        if d.days >= 2:
-            return '(%s days)' % d.days
-        return ''
-
 
 def mail(smtp, fromaddr, toaddrs, replytoaddr, subject, body):
     from email.Header import Header
@@ -206,6 +135,7 @@
         
     sumsubject = 'Summary - ' + mailsubject
     history = History(release)
+    history.today = today
 
     pkgre = re.compile('(?P<name>.*)-[^-]+-[^-]+$')
     inbody = False




More information about the scm-commits mailing list