--- ItemStore.py-orig 2003-09-19 04:26:27.000000000 +1200 +++ ItemStore.py 2003-11-03 15:30:47.000000000 +1300 @@ -360,6 +360,7 @@ 'fm_license': item.fm_license, 'fm_changes': item.fm_changes, 'creator': item.creator, + 'contributor': item.contributor, 'license_urls': item.license_urls, 'publication_name': item.publication_name, 'publication_volume': item.publication_volume, @@ -391,6 +392,7 @@ item.fm_license = dict.get('fm_license', None) item.fm_changes = dict.get('fm_changes', None) item.creator = dict.get('creator', None) + item.contributor = dict.get('contributor', None) item.license_urls = dict.get('license_urls', None) item._sticky = dict.get('sticky', 0) item.publication_name = dict.get('publication_name', None) --- MainWindow.py-orig 2003-09-19 04:26:27.000000000 +1200 +++ MainWindow.py 2003-11-03 15:27:26.000000000 +1300 @@ -158,6 +158,9 @@ ret.append('</div>') if item.creator is not None: ret.append('<p>: </p>' % (_("Creator"), item.creator)) + # should this be elsif - are dc:Creator and dc:Contributor mut. excl? + if item.contributor is not None: + ret.append('<p>: </p>' % (_("Contributor"), item.contributor)) if item.fm_license is not None: ret.append('<p>: </p>' % (_("Software license"), item.fm_license)) --- ParsedSummary.py-orig 2003-09-19 04:26:27.000000000 +1200 +++ ParsedSummary.py 2003-11-03 15:29:13.000000000 +1300 @@ -8,7 +8,7 @@ __slots__ = ('title', 'link', 'description', 'last_build_date', 'managing_editor', 'web_master', 'language', 'items', 'invalid_rss', 'copyright', 'blogroll', - 'subscriptions', 'blink', 'creator') + 'subscriptions', 'blink', 'creator', 'contributor') def __init__(self): self.items = [] @@ -25,6 +25,7 @@ self.subscriptions = "" self.blink = "" self.creator = "" + self.contributor = "" pass def addItem(self, item): --- rssparser.py-orig 2003-09-19 04:26:27.000000000 +1200 +++ rssparser.py 2003-11-03 15:28:50.000000000 +1300 @@ -207,6 +207,16 @@ end_managingeditor = end_dc_creator end_webmaster = end_dc_creator + def start_dc_contributor(self, attrs): + self.push('contributor', 1) + start_managingeditor = start_dc_contributor + start_webmaster = start_dc_contributor + + def end_dc_contributor(self): + self.pop('contributor') + end_managingeditor = end_dc_contributor + end_webmaster = end_dc_contributor + def start_dc_rights(self, attrs): self.push('rights', 1) start_copyright = start_dc_rights --- SummaryItem.py-orig 2003-09-19 04:26:27.000000000 +1200 +++ SummaryItem.py 2003-11-03 15:23:50.000000000 +1300 @@ -9,14 +9,14 @@ class SummaryItem(object, straw.SignalEmitter): __slots__ = ('title', 'link', 'description', 'guid', 'pub_date', 'source', - '_images', '_seen', '_id', 'feed', '_slots', - 'fm_license', 'fm_changes', 'creator', 'license_urls', + '_images', '_seen', '_id', 'feed', '_slots', 'fm_license', + 'fm_changes', 'creator', 'contributor', 'license_urls', '_searchable_fields', '_sticky', 'publication_name', 'publication_volume', 'publication_number', 'publication_section', 'publication_starting_page') _searchable_fields = ('title', 'description', 'fm_license', 'fm_changes', - 'creator') + 'creator', 'contributor') def __init__(self): straw.SignalEmitter.__init__(self) @@ -34,6 +34,7 @@ self.fm_license = None self.fm_changes = None self.creator = None + self.contributor = None self.license_urls = [] self.publication_name = None self.publication_volume = None --- SummaryParser.py-orig 2003-09-19 04:26:27.000000000 +1200 +++ SummaryParser.py 2003-11-03 15:25:33.000000000 +1300 @@ -154,6 +154,8 @@ self._item.pub_date = readISODate(self._content) elif name == 'creator': self._item.creator = self._content.strip() + elif name == 'contributor': + self._item.contributor = self._content.strip() elif uri == RDFCC_NS: if name == "license": u = attrs[(RDF_NS, 'resource')] @@ -209,6 +211,8 @@ self._summary.copyright = self._content.strip() elif name == 'creator': self._summary.creator = self._content.strip() + elif name == 'contributor': + self._summary.contributor = self._content.strip() elif uri == BLOGCHANNEL_NS: if name == 'blogRoll': self._summary.blogroll = self._content.strip()