def get_default_file_extension(mime_type): for response in document_consumer_declaration.send(None): parser_declaration = response[1] supported_mime_types = parser_declaration["mime_types"] if mime_type in supported_mime_types: return supported_mime_types[mime_type] return None
def get_supported_file_extensions(): extensions = set() for response in document_consumer_declaration.send(None): parser_declaration = response[1] supported_mime_types = parser_declaration["mime_types"] for mime_type in supported_mime_types: extensions.update(mimetypes.guess_all_extensions(mime_type)) return extensions
def parser_check(app_configs, **kwargs): parsers = [] for response in document_consumer_declaration.send(None): parsers.append(response[1]) if len(parsers) == 0: return [ Error("No parsers found. This is a bug. The consumer won't be " "able to onsume any documents without parsers.") ] else: return []
def get_parser_class_for_mime_type(mime_type): options = [] # Sein letzter Befehl war: KOMMT! Und sie kamen. Alle. Sogar die Parser. for response in document_consumer_declaration.send(None): parser_declaration = response[1] supported_mime_types = parser_declaration["mime_types"] if mime_type in supported_mime_types: options.append(parser_declaration) if not options: return None # Return the parser with the highest weight. return sorted( options, key=lambda _: _["weight"], reverse=True)[0]["parser"]