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