[Python-checkins] r59861 - tracker/roundup-src/roundup/roundupdb.py

martin.v.loewis python-checkins at python.org
Tue Jan 8 20:54:25 CET 2008


Author: martin.v.loewis
Date: Tue Jan 8 20:54:24 2008
New Revision: 59861
Modified:
 tracker/roundup-src/roundup/roundupdb.py
Log:
Generate additional headers.
Modified: tracker/roundup-src/roundup/roundupdb.py
==============================================================================
--- tracker/roundup-src/roundup/roundupdb.py	(original)
+++ tracker/roundup-src/roundup/roundupdb.py	Tue Jan 8 20:54:24 2008
@@ -395,6 +395,39 @@
 if inreplyto:
 writer.addheader('In-Reply-To', inreplyto)
 
+ # Additional headers for bugs.python.org
+ # 20080106 mvl
+
+ # Generate a header for each link or multilink to
+ # a class that has a name attribute
+ for propname, prop in self.getprops().items():
+ if not isinstance(prop, (hyperdb.Link, hyperdb.Multilink)):
+ continue
+ cl = self.db.getclass(prop.classname)
+ if not 'name' in cl.getprops():
+ continue
+ if isinstance(prop, hyperdb.Link):
+ value = self.get(nodeid, propname)
+ if value is None:
+ continue
+ values = [value]
+ else:
+ values = self.get(nodeid, propname)
+ if not values:
+ continue
+ values = [cl.get(v, 'name') for v in values]
+ values = ', '.join(values)
+ writer.addheader("X-Roundup-%s-%s" % (self.classname, propname),
+ values)
+ if not inreplyto:
+ # Default the reply to the first message
+ msgs = self.get(nodeid, 'messages')
+ # Assume messages are sorted by increasing message number here
+ if msgs[0] != nodeid:
+ inreplyto = messages.get(msgs[0], 'messageid')
+ writer.addheader('In-Reply-To', inreplyto)
+ # end additional headers
+
 # attach files
 if message_files:
 part = writer.startmultipartbody('mixed')


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /