diff --git a/feedgen/entry.py b/feedgen/entry.py index 5dd21c2..0b662ac 100644 --- a/feedgen/entry.py +++ b/feedgen/entry.py @@ -137,17 +137,17 @@ def atom_entry(self, extensions=True): _add_text_elm(entry, self.__atom_content, 'content') for link in self.__atom_link or []: - link = xml_elem('link', entry, href=link['href']) + _link = xml_elem('link', entry, href=link['href']) if link.get('rel'): - link.attrib['rel'] = link['rel'] + _link.attrib['rel'] = link['rel'] if link.get('type'): - link.attrib['type'] = link['type'] + _link.attrib['type'] = link['type'] if link.get('hreflang'): - link.attrib['hreflang'] = link['hreflang'] + _link.attrib['hreflang'] = link['hreflang'] if link.get('title'): - link.attrib['title'] = link['title'] + _link.attrib['title'] = link['title'] if link.get('length'): - link.attrib['length'] = link['length'] + _link.attrib['length'] = link['length'] _add_text_elm(entry, self.__atom_summary, 'summary') diff --git a/tests/test_feed.py b/tests/test_feed.py index d09014d..97ce363 100644 --- a/tests/test_feed.py +++ b/tests/test_feed.py @@ -75,6 +75,11 @@ def setUp(self): self.webMaster = 'webmaster@example.com' + self.entry1id = 'http://example.com/1' + self.link2Entry1length = 123456 + self.link2entry1type = 'audio/opus' + self.link2entry1url = 'http://example.com/enclosure.opus' + fg.id(self.feedId) fg.title(self.title) fg.author(self.author) @@ -112,6 +117,13 @@ def setUp(self): height='123', description='Example Inage') + fe = fg.add_entry() + fe.id(self.entry1id) + fe.title('Some Testfeed') + fe.updated('2024-02-05 13:26:58+01:00') + fe.link(href=self.entry1id, rel=self.linkRel) + fe.enclosure(url=self.link2entry1url, length=('%d' % self.link2Entry1length), type=self.link2entry1type) + self.fg = fg def test_baseFeed(self): @@ -284,6 +296,30 @@ def checkAtomString(self, atomString): ), ( feed.find(f"{nsAtom}rights").text, self.copyright + ), ( + feed.findall(f"{nsAtom}entry")[0].find(f"{nsAtom}id").text, + self.entry1id + ), ( + len(feed.findall(f"{nsAtom}entry")[0].findall(f"{nsAtom}link")), + 2 + ), ( + feed.findall(f"{nsAtom}entry")[0].findall(f"{nsAtom}link")[0].get("href"), + self.entry1id + ), ( + feed.findall(f"{nsAtom}entry")[0].findall(f"{nsAtom}link")[0].get("rel"), + self.linkRel + ), ( + feed.findall(f"{nsAtom}entry")[0].findall(f"{nsAtom}link")[1].get("href"), + self.link2entry1url + ), ( + feed.findall(f"{nsAtom}entry")[0].findall(f"{nsAtom}link")[1].get("rel"), + 'enclosure' + ), ( + feed.findall(f"{nsAtom}entry")[0].findall(f"{nsAtom}link")[1].get("type"), + self.link2entry1type + ), ( + int(feed.findall(f"{nsAtom}entry")[0].findall(f"{nsAtom}link")[1].get("length")), + self.link2Entry1length )] for actual, expected in testcases: self.assertEqual(actual, expected)