def _classify_paper_with_deposit(obj, eng): from invenio_deposit.models import Deposition deposition = Deposition(obj) data = None if not fast_mode: for f in deposition.files: if f.name and ".pdf" in f.name.lower(): data = f.get_syspath() break callback = get_keywords_from_local_file if not data: try: metadata = deposition.get_latest_sip().metadata except AttributeError as err: obj.log.error("Error getting data: {0}".format(err)) data = [ metadata.get("title", {}).get("title", ""), metadata.get("abstract", {}).get("summary", "") ] callback = get_keywords_from_text classify_paper(obj, eng, callback, data, taxonomy, rebuild_cache, no_cache, output_limit, spires, match_mode, with_author_keywords, extract_acronyms, only_core_tags, fast_mode)