4
from flexget.manager import Session
5
from flexget.entry import Entry
6
from flexget import plugin
8
log = logging.getLogger('gen_series')
13
class GenSeries(plugin.DebugPlugin):
14
""" Purely for debugging purposes. Not great quality :)
23
this will also configure series plugin for testing
26
def __init__(self, plugin_info, *args, **kw):
30
from flexget import validator
31
container = validator.factory('any')
34
def on_process_start(self, feed, config):
35
log.info('Generating test data ...')
37
for num in range(config['series']):
38
series.append('series %d name' % num)
39
for season in range(int(config['seasons'])):
40
for episode in range(int(config['episodes'])):
41
for quality in config['qualities']:
43
entry['title'] = 'series %d name - S%02dE%02d - %s' % \
44
(num, season + 1, episode + 1, quality)
45
entry['url'] = 'http://localhost/mock/%s' % \
46
''.join([random.choice(string.letters + string.digits) for x in range(1, 30)])
47
self.entries.append(entry)
48
log.info('Generated %d entries' % len(self.entries))
50
# configure series plugin, bad way but this is debug shit
51
feed.config['series'] = series
53
def on_feed_input(self, feed, config):
55
for num, entry in enumerate(self.entries):
57
if num == PER_RUN - 1:
59
self.entries = self.entries[len(entries):]
62
def on_feed_exit(self, feed, config):
64
log.info('There are still %d left to be processed!' % len(self.entries))
65
# rerun ad infinitum, also commits session between them
70
#plugin.register_plugin(GenSeries, 'gen_series_data', api_ver=2, debug=True)