Exemplo n.º 1
0
    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)