inveniosoftware-contrib / invenio-classifier

Invenio module for record classification.
GNU General Public License v2.0
6 stars 12 forks source link

Crash with non ascii-friendly author names #28

Closed kaplun closed 7 years ago

kaplun commented 7 years ago
  File "celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "flask_celeryext/app.py", line 78, in __call__
    return Task.__call__(self, *args, **kwargs)
  File "celery/app/trace.py", line 438, in __protected_call__
    return self.run(*args, **kwargs)
  File "invenio_workflows/tasks.py", line 103, in resume
    return text_type(continue_worker(oid, restart_point, **kwargs).uuid)
  File "invenio_workflows/worker_engine.py", line 122, in continue_worker
    **kwargs
  File "invenio_workflows/engine.py", line 215, in continue_object
    objects=[workflow_object], stop_on_halt=stop_on_halt)
  File "workflow/engine.py", line 656, in restart
    stop_on_halt=stop_on_halt, reset_state=False)
  File "workflow/engine.py", line 390, in process
    self._process(objects)
  File "workflow/engine.py", line 547, in _process
    obj, self, callbacks, exc_info
  File "invenio_workflows/engine.py", line 364, in Exception
    obj, eng, callbacks, exc_info
  File "workflow/engine.py", line 970, in Exception
    reraise(*exc_info)
  File "workflow/engine.py", line 529, in _process
    self.run_callbacks(callbacks, objects, obj)
  File "workflow/engine.py", line 481, in run_callbacks
    self.execute_callback(callback_func, obj)
  File "workflow/engine.py", line 564, in execute_callback
    callback(obj, self)
  File "inspirehep/modules/workflows/utils.py", line 136, in _decorator
    res = func(*args, **kwargs)
  File "inspirehep/modules/workflows/tasks/classifier.py", line 80, in _classify_paper
    result = get_keywords_from_local_file(uri, **params)
  File "invenio_classifier/api.py", line 135, in get_keywords_from_local_file
    extract_acronyms=extract_acronyms)
  File "invenio_classifier/api.py", line 206, in get_keywords_from_text
    only_core_tags=only_core_tags
  File "invenio_classifier/engine.py", line 141, in get_keywords_output
    only_core_tags, limit=output_limit)
  File "invenio_classifier/engine.py", line 281, in _output_complete
    author_keywords, spires=spires)
  File "invenio_classifier/engine.py", line 395, in _get_author_keywords
    new_keyword = {'author_keyword': str(keyword)}

(for INSPIRE users see: https://sentry.cern.ch/inspire-sentry/inspire-labs/group/822216/ corresponding to https://labs.inspirehep.net/holdingpen/640024 i.e. https://arxiv.org/abs/1705.06516)