diff --git a/deluge/core/core.py b/deluge/core/core.py index 6f3cb5670..b5ceca53b 100644 --- a/deluge/core/core.py +++ b/deluge/core/core.py @@ -434,9 +434,9 @@ class Core(component.Component): # Torrent was probaly removed meanwhile return {} - # Get the leftover fields and ask the plugin manager to fill them + # Get any remaining keys from plugin manager or 'all' if no keys specified. leftover_fields = list(set(keys) - set(status.keys())) - if len(leftover_fields) > 0: + if len(leftover_fields) > 0 or len(keys) == 0: status.update(self.pluginmanager.get_status(torrent_id, leftover_fields)) return status diff --git a/deluge/core/pluginmanager.py b/deluge/core/pluginmanager.py index 07f16bcfb..8b7d07dcc 100644 --- a/deluge/core/pluginmanager.py +++ b/deluge/core/pluginmanager.py @@ -92,6 +92,8 @@ class PluginManager(deluge.pluginmanagerbase.PluginManagerBase, def get_status(self, torrent_id, fields): """Return the value of status fields for the selected torrent_id.""" status = {} + if len(fields) == 0: + fields = self.status_fields.keys() for field in fields: try: status[field] = self.status_fields[field](torrent_id)