Синдикация Atom
Предупреждение
Устарело начиная с версии 0.15: Будет удалено в версии 1.0. Используйте специализированную библиотеку для ленты вместо этого.
werkzeug.contrib.atom
Этот модуль предоставляет класс AtomFeed, который можно использовать для генерации лент в формате Atom syndication (см. RFC 4287).
Пример:
def atom_feed(request):
feed = AtomFeed("My Blog", feed_url=request.url,
url=request.host_url,
subtitle="My example blog for a feed test.")
for post in Post.query.limit(10).all():
feed.add(post.title, post.body, content_type='html',
author=post.author, url=post.url, id=post.uid,
updated=post.last_update, published=post.pub_date)
return feed.get_response()
-
class werkzeug.contrib.atom.AtomFeed(title=None, entries=None, **kwargs) -
Вспомогательный класс для создания лент Atom.
Параметры: - title – заголовок ленты. Требуется.
-
title_type – атрибут типа для элемента заголовка. Один из
'html','text'или'xhtml'. - url – адрес URL для ленты (не адрес URL самой ленты)
-
id – глобально уникальный идентификатор ленты. Должен быть URI. Если не указан, используется
feed_url, но один из двух обязателен. -
updated – время последнего изменения ленты. Должен быть объектом
datetime.datetime. Если не указан, используется время последней записиupdated. Если объект datetime не содержит информации о часовом поясе, он интерпретируется как UTC. - feed_url – URL ленты. Должен быть URL, который был запрошен.
- author – автор ленты. Должен быть либо строкой (имя), либо словарем с именем (обязательно) и URI или email (оба необязательны). Может быть списком (смешанным) строк и словарей, если авторов несколько. Требуется, если у каждой записи нет элемента автора.
- icon – значок для ленты.
- logo – логотип для ленты.
- rights – информация об авторских правах для ленты.
-
rights_type – атрибут типа для элемента прав. Один из
'html','text'или'xhtml'. По умолчанию'text'. - subtitle – краткое описание ленты.
-
subtitle_type – атрибут типа для элемента подзаголовка. Один из
'text','html','text'или'xhtml'. По умолчанию'text'. - links – дополнительные ссылки. Должен быть списком словарей с href (обязательно) и rel, type, hreflang, title, length (все необязательно).
-
generator – программа, которая сгенерировала эту ленту. Должен быть кортежем в формате
(name, url, version). Если не нужно указывать один из них, установите элемент вNone. -
entries – список записей для ленты. Записи также можно добавить позже с помощью
add().
Дополнительную информацию об элементах см. на http://www.atomenabled.org/developers/syndication/
В местах, где требуется список, можно использовать любой итерируемый объект.
-
add(*args, **kwargs) -
Добавить новую запись в ленту. Эту функцию можно вызвать с
FeedEntryили некоторыми именованными и позиционными аргументами, которые передаются конструкторуFeedEntry.
-
generate() -
Возвращает генератор, который выдает куски XML.
-
get_response() -
Возвращает объект ответа для ленты.
-
to_string() -
Преобразует ленту в строку.
-
class werkzeug.contrib.atom.FeedEntry(title=None, content=None, feed_url=None, **kwargs) -
Представляет отдельную запись в ленте.
Параметры: - title – заголовок записи. Требуется.
-
title_type – атрибут типа для элемента заголовка. Один из
'html','text'или'xhtml'. - content – содержание записи.
-
content_type – атрибут типа для элемента содержания. Один из
'html','text'или'xhtml'. - summary – краткое описание содержимого записи.
-
summary_type – атрибут типа для элемента описания. Один из
'html','text'или'xhtml'. - url – адрес URL записи.
- id – глобально уникальный идентификатор записи. Должен быть URI. Если не указан, используется URL, но один из двух обязателен.
-
updated – время последнего изменения записи. Должен быть объектом
datetime.datetime. Если объект datetime не содержит информации о часовом поясе, он интерпретируется как UTC. Требуется. - author – автор записи. Должен быть либо строкой (имя), либо словарем с именем (обязательно) и URI или email (оба необязательны). Может быть списком (смешанным) строк и словарей, если авторов несколько. Требуется, если у ленты нет элемента автора.
-
published – время публикации записи. Должен быть объектом
datetime.datetime. Если объект datetime не содержит информации о часовом поясе, он интерпретируется как UTC. - rights – информация об авторских правах для записи.
-
rights_type – атрибут типа для элемента прав. Один из
'html','text'или'xhtml'. По умолчанию'text'. - links – дополнительные ссылки. Должен быть списком словарей с href (обязательно) и rel, type, hreflang, title, length (все необязательно).
- categories – категории записи. Должен быть списком словарей с term (обязательно), scheme и label (оба необязательны).
- xml_base – Базовый URL (xml base) для этого элемента ленты. Если не указан, по умолчанию используется URL элемента.
Дополнительную информацию об элементах см. на http://www.atomenabled.org/developers/syndication/
В местах, где требуется список, можно использовать любой итерируемый объект.
© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/0.15.x/contrib/atom/