Я использую PyRSS2Gen для создания RSS-канала. Мне удалось расширить его, чтобы добавить дополнительный элемент к каждому элементу в фиде RSS:
class FullRSSItem(PyRSS2Gen.RSSItem):
def __init__(self, **kwargs):
if 'content' in kwargs:
self.content = kwargs['content']
del kwargs['content']
else:
self.content = None
PyRSS2Gen.RSSItem.__init__(self, **kwargs)
def publish_extensions(self, handler):
PyRSS2Gen._opt_element(handler, "content:encoded", '<![CDATA[' + self.content + ']]>')
Однако self.content содержит HTML-теги, и все угловые скобки (в том числе в части <! [CDATA) переводятся в & lt; и & alpha; когда создается файл подачи.
Как добавить дополнительный элемент элемента RSS, содержащий HTML, используя PyRSS2Gen?
В конце концов я отказался от идеи использовать обертку CDATA и просто закодировал полный текст. Кажется, работает.