Source code for flexget.components.series.series_remove
from loguru import logger
from flexget import plugin
from flexget.event import event
from . import db
logger = logger.bind(name='series_remove')
[docs]
class OutputSeriesRemove:
schema = {
'oneOf': [
{'type': 'boolean'},
{'type': 'object', 'properties': {'forget': {'type': 'boolean'}}},
],
}
[docs]
def on_task_output(self, task, config):
if not config:
return
if isinstance(config, bool):
config = {'forget': False}
forget = config['forget']
for entry in task.accepted:
if 'series_name' in entry:
if 'series_id' in entry:
try:
db.remove_series_entity(entry['series_name'], entry['series_id'], forget)
logger.info(
'Removed {}episode `{}` from series `{}` download history.',
'and forgot ' if forget else '',
entry['series_id'],
entry['series_name'],
)
except ValueError:
logger.debug(
'Series ({}) or id ({}) unknown.',
entry['series_name'],
entry['series_id'],
)
else:
try:
db.remove_series(entry['series_name'], forget)
logger.info(
'Removed {}series `{}` download history.',
'and forgot ' if forget else '',
entry['series_name'],
)
except ValueError:
logger.debug('Series ({}) unknown.', entry['series_name'])
[docs]
@event('plugin.register')
def register_plugin():
plugin.register(OutputSeriesRemove, 'series_remove', api_ver=2)