RSS#

class qbittorrentapi.rss.RSSAPIMixIn(host='', port=None, username=None, password=None, **kwargs)#

Bases: AppAPIMixIn

Implementation of all RSS API methods.

Usage:
>>> from qbittorrentapi import Client
>>> client = Client(host='localhost:8080', username='admin', password='adminadmin')
>>> rss_rules = client.rss_rules()
>>> client.rss_set_rule(rule_name="...", rule_def={...})
rss_add_feed(url=None, item_path=None, **kwargs)#

Add new RSS feed. Folders in path must already exist.

Raises:

Conflict409Error

Parameters:
Returns:

None

rss_add_folder(folder_path=None, **kwargs)#

Add an RSS folder. Any intermediate folders in path must already exist.

Raises:

Conflict409Error

Parameters:

folder_path – path to new folder (e.g. Linux\ISOs)

Returns:

None

rss_items(include_feed_data=None, **kwargs)#

Retrieve RSS items and optionally feed data.

Parameters:

include_feed_data – True or false to include feed data

Returns:

RSSitemsDictionary

rss_mark_as_read(item_path=None, article_id=None, **kwargs)#

Mark RSS article as read. If article ID is not provider, the entire feed is marked as read.

Raises:

NotFound404Error

Parameters:
  • item_path – path to item to be refreshed (e.g. Folder\Subfolder\ItemName)

  • article_id – article ID from rss_items()

Returns:

None

rss_matching_articles(rule_name=None, **kwargs)#

Fetch all articles matching a rule.

Parameters:

rule_name – Name of rule to return matching articles

Returns:

RSSitemsDictionary

rss_move_item(orig_item_path=None, new_item_path=None, **kwargs)#

Move/rename an RSS item (folder, feed, etc).

Raises:

Conflict409Error

Parameters:
  • orig_item_path – path to item to be removed (e.g. Folder\Subfolder\ItemName)

  • new_item_path – path to item to be removed (e.g. Folder\Subfolder\ItemName)

Returns:

None

rss_refresh_item(item_path=None, **kwargs)#

Trigger a refresh for an RSS item.

Note: qBittorrent v4.1.5 thru v4.1.8 all use Web API 2.2. However, this endpoint was introduced with v4.1.8; so, behavior may be undefined for these versions.

Parameters:

item_path – path to item to be refreshed (e.g. Folder\Subfolder\ItemName)

Returns:

None

rss_remove_item(item_path=None, **kwargs)#

Remove an RSS item (folder, feed, etc).

NOTE: Removing a folder also removes everything in it.

Raises:

Conflict409Error

Parameters:

item_path – path to item to be removed (e.g. Folder\Subfolder\ItemName)

Returns:

None

rss_remove_rule(rule_name=None, **kwargs)#

Delete a RSS auto-downloading rule.

Parameters:

rule_name – Name of rule to delete

Returns:

None

rss_rename_rule(orig_rule_name=None, new_rule_name=None, **kwargs)#

Rename an RSS auto-download rule.

Note: this endpoint did not work properly until qBittorrent v4.3.0

Parameters:
  • orig_rule_name – current name of rule

  • new_rule_name – new name for rule

Returns:

None

rss_rules(**kwargs)#

Retrieve RSS auto-download rule definitions.

Returns:

RSSRulesDictionary

rss_setFeedURL(url=None, item_path=None, **kwargs)#

Update the URL for an existing RSS feed.

Raises:

Conflict409Error

Parameters:
Returns:

None

rss_set_feed_url(url=None, item_path=None, **kwargs)#

Update the URL for an existing RSS feed.

Raises:

Conflict409Error

Parameters:
Returns:

None

rss_set_rule(rule_name=None, rule_def=None, **kwargs)#

Create a new RSS auto-downloading rule.

Parameters:
Returns:

None

class qbittorrentapi.rss.RSS(client)#

Allows interaction with RSS API endpoints.

Usage:
>>> from qbittorrentapi import Client
>>> client = Client(host='localhost:8080', username='admin', password='adminadmin')
>>> # this is all the same attributes that are available as named in the
>>> #  endpoints or the more pythonic names in Client (with or without 'log_' prepended)
>>> rss_rules = client.rss.rules
>>> client.rss.addFolder(folder_path="TPB")
>>> client.rss.addFeed(url='...', item_path="TPB\Top100")
>>> client.rss.remove_item(item_path="TPB") # deletes TPB and Top100
>>> client.rss.set_rule(rule_name="...", rule_def={...})
>>> items = client.rss.items.with_data
>>> items_no_data = client.rss.items.without_data
add_feed(url=None, item_path=None, **kwargs)#

Implements rss_add_feed()

add_folder(folder_path=None, **kwargs)#

Implements rss_add_folder()

mark_as_read(item_path=None, article_id=None, **kwargs)#

Implements rss_mark_as_read()

matching_articles(rule_name=None, **kwargs)#

Implements rss_matching_articles()

move_item(orig_item_path=None, new_item_path=None, **kwargs)#

Implements rss_move_item()

refresh_item(item_path=None)#

Implements rss_refresh_item()

remove_item(item_path=None, **kwargs)#

Implements rss_remove_item()

remove_rule(rule_name=None, **kwargs)#

Implements rss_remove_rule()

rename_rule(orig_rule_name=None, new_rule_name=None, **kwargs)#

Implements rss_rename_rule()

property rules#

Implements rss_rules()

setFeedURL(url=None, item_path=None, **kwargs)#

Implements rss_set_feed_url()

set_feed_url(url=None, item_path=None, **kwargs)#

Implements rss_set_feed_url()

set_rule(rule_name=None, rule_def=None, **kwargs)#

Implements rss_set_rule()

class qbittorrentapi.rss.RSSitemsDictionary(data=None, client=None)#

Bases: Dictionary

Response for rss_items()

class qbittorrentapi.rss.RSSRulesDictionary(data=None, client=None)#

Bases: Dictionary

Response for rss_rules()