flexget.plugins.output.rss module#

class flexget.plugins.output.rss.OutputRSS[source]#

Bases: object

Write RSS containing succeeded (downloaded) entries.

Example:

make_rss: ~/public_html/flexget.rss

You may write into same file in multiple tasks.

Example:

my-task-A:
  make_rss: ~/public_html/series.rss
  .
  .
my-task-B:
  make_rss: ~/public_html/series.rss
  .
  .

With this example file series.rss would contain succeeded entries from both tasks.

Number of days / items

By default output contains items from last 7 days. You can specify different perioid, number of items or both. Value -1 means unlimited.

Example:

make_rss:
  file: ~/public_html/series.rss
  days: 2
  items: 10

Generate RSS that will containing last two days and no more than 10 items.

Example 2:

make_rss:
  file: ~/public_html/series.rss
  days: -1
  items: 50

Generate RSS that will contain last 50 items, regardless of dates.

RSS feed properties:

You can specify the URL, title, and description to include in the header of the RSS feed.

Example:

make_rss:
  file: ~/public_html/series.rss
  rsslink: http://my.server.net/series.rss
  rsstitle: The Flexget RSS Feed
  rssdesc: Episodes about Flexget.

RSS item title and link

You can specify the title and link for each item in the RSS feed.

The item title can be any pattern that references fields in the input entry.

The item link can be created from one of a list of fields in the input entry, in order of preference. The fields should be enumerated in a list. Note that the url field is always used as last possible fallback even without explicitly adding it into the list.

Default field list for item URL: imdb_url, input_url, url

Example:

make_rss:
  file: ~/public_html/series.rss
  title: '{{title}} (from {{task}})'
  link:
    - imdb_url
on_task_exit(task, config)[source]#

Store finished / downloaded entries at exit.

on_task_output(task, config)[source]#
prepare_config(config)[source]#
schema = {'oneOf': [{'type': 'string'}, {'additionalProperties': False, 'properties': {'days': {'type': 'integer'}, 'encoding': {'type': 'string'}, 'file': {'type': 'string'}, 'history': {'type': 'boolean'}, 'items': {'type': 'integer'}, 'link': {'items': {'type': 'string'}, 'type': 'array'}, 'rssdesc': {'type': 'string'}, 'rsslink': {'type': 'string'}, 'rsstitle': {'type': 'string'}, 'template': {'type': 'string'}, 'timestamp': {'type': 'boolean'}, 'title': {'type': 'string'}}, 'required': ['file'], 'type': 'object'}]}#
class flexget.plugins.output.rss.RSSEntry(**kwargs)[source]#

Bases: VersionedBase

_sa_class_manager = {'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'enc_length': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'enc_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'file': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'link': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'published': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'rsslink': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'title': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
description#
enc_length#
enc_type#
file#
id#
published#
title#
flexget.plugins.output.rss.register_plugin()[source]#