def run_processors(self, loader, all_processors, matching_processors, shows): setup = ProcessorSetup(loader, all_processors, settings.SHOW_PROCESSOR_SETTINGS, restrict_to = matching_processors) runner = setup.runner() init_logging('processing', datetime.now()) for show in shows: runner.process(show)
def run_processors(self, loader, all_processors, matching_processors, artists): setup = ProcessorSetup(loader, all_processors, settings.ARTIST_PROCESSOR_SETTINGS, restrict_to = matching_processors) runner = setup.runner() init_logging('processing', datetime.now()) for artist in artists: runner.process(artist)
def load_from_parsers(self, library, parsers, no_processing): parse_run_id = datetime.now() init_logging('parsing', parse_run_id) resource_extractor = ResourceExtractorManager(library.resource_extractors()) loader = ShowLoader() for parser_class in parsers: start_time = datetime.now() logging.info(u'Starting parse for %s' % parser_class.id()) num_new, num_invalid = 0, 0 error = None shows = None try: parser_settings = settings.SHOW_PARSER_SETTINGS.get(parser_class.id(), {}) parser = parser_class(parser_settings, resource_extractor) num_new, num_invalid, shows = loader.load_shows(parser) except Exception, e: logging.exception(u'Unable to parse %s: %s' % (parser_class.id(), e)) end_time = datetime.now() stat, created = ParserStat.objects.get_or_create(parser_id = parser_class.id(), defaults = {'parser_id': parser_class.id()}) run_info = { 'group_start_time': parse_run_id, 'start_time': start_time, 'end_time': end_time, 'num_valid_shows': num_new, 'num_invalid_shows': num_invalid, 'error_message': error } if not stat.parse_history: # FIXME, shouldn't mongoengine handle this? stat.parse_history = [] stat.parse_history.append(ParseRun(**run_info)) stat.save() if shows and not no_processing: self.process_shows(library, shows)