Spec-Zone.ru › Werkzeug 0.15

Синдикация 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API