inspirehep.modules.workflows.workflows package

Submodules

inspirehep.modules.workflows.workflows.article module

Workflow for processing single arXiv records harvested.

class inspirehep.modules.workflows.workflows.article.Article[source]

Bases: object

Article ingestion workflow for Literature collection.

data_type = 'hep'
name = 'HEP'
workflow = [<function load_from_source_data>, <function set_schema>, [<function mark>, <function mark>, <function mark>, <function mark>, <function mark>, <function mark>, <function mark>, <function save_workflow>], <function validate_record>, [<function IF>, [<function create_ticket>, <function reply_ticket>]], <function raise_if_match_wf_in_error_or_initial>, [<function IF_ELSE>, [<function mark>, <function save_workflow>], <function BREAK>, <function mark>], [<function IF_ELSE>, [<function mark>, <function save_workflow>], <function BREAK>, <function mark>], [<function IF_ELSE>, [<function set_exact_match_as_approved_in_extradata>, <function mark>, <function mark>, [<function IF>, <function halt_record>]], <function BREAK>, [<function IF_ELSE>, [<function halt_record>, [<function IF_ELSE>, [<function set_fuzzy_match_approved_in_extradata>, <function mark>, <function mark>], <function BREAK>, <function mark>]], <function BREAK>, <function mark>]], <function save_workflow>, [<function IF>, [<function IF>, [<function reject_record>, <function mark>, <function reply_ticket>, <function close_ticket>, <function save_workflow>, <function stop_processing>]]], [<function IF_ELSE>, <function mark>, <function BREAK>, [<function IF_ELSE>, [<function mark>, <function set_core_in_extra_data>], <function BREAK>, <function mark>]], [<function IF_ELSE>, [[<function IF>, [<function IF_ELSE>, [<function mark>, <function error_workflow>, <function save_workflow>], <function BREAK>, [<function stop_matched_holdingpen_wfs>, <function mark>, <function save_workflow>]]]], <function BREAK>, [[<function IF_NOT>, [<function IF>, [<function IF_NOT>, [<function IF>, [<function mark>, <function save_workflow>, <function stop_processing>]]]]], [<function IF_ELSE>, [<function IF_ELSE>, [<function stop_matched_holdingpen_wfs>, <function mark>], <function BREAK>, [<function mark>, <function save_workflow>, <function stop_processing>]], <function BREAK>, <function mark>], <function save_workflow>]], [<function IF>, [<function populate_arxiv_document>, <function arxiv_package_download>, <function arxiv_plot_extract>, <function arxiv_derive_inspire_categories>, <function arxiv_author_list>]], [<function IF>, <function populate_submission_document>], <function download_documents>, <function normalize_journal_titles>, <function refextract>, <function count_reference_coreness>, <function extract_journal_info>, <function populate_journal_coverage>, <function classify_paper>, <function filter_core_keywords>, <function guess_categories>, [<function IF>, <function guess_experiments>], <function guess_keywords>, <function guess_coreness>, <function preserve_root>, [<function IF_ELSE>, [<function merge_articles>, [<function IF>, <function halt_record>], <function mark>, <function mark>], <function BREAK>, [<function IF_ELSE>, <function mark>, <function BREAK>, [[<function IF_NOT>, [<function reject_record>, <function mark>, <function save_workflow>, <function stop_processing>]], <function halt_record>]]], [<function IF_ELSE>, [<function add_core>, <function filter_keywords>, <function prepare_keywords>, <function set_refereed_and_fix_document_type>, <function fix_submission_number>, <function validate_record>, <function store_record>, <function store_root>, <function send_to_legacy>, [<function IF_NOT>, <function wait_webcoll>], [<function IF>, <function reply_ticket>], [<function IF_NOT>, [[<function IF_ELSE>, <function create_ticket>, <function BREAK>, [<function IF>, <function create_ticket>]]]]], <function BREAK>, [[<function IF>, <function reply_ticket>]]], [<function IF>, <function close_ticket>]]

inspirehep.modules.workflows.workflows.author module

Workflow for processing single arXiv records harvested.

class inspirehep.modules.workflows.workflows.author.Author[source]

Bases: object

Author ingestion workflow for HEPNames/Authors collection.

data_type = 'authors'
name = 'Author'
workflow = [<function load_from_source_data>, <function set_schema>, <function validate_record>, [<function IF_ELSE>, [<function send_robotupload>, <function create_ticket>, <function reply_ticket>], <function BREAK>, [<function create_ticket>, <function reply_ticket>, <function halt_record>, [<function IF_ELSE>, [<function send_robotupload>, <function reply_ticket>, <function close_ticket>, [<function IF_NOT>, [<function store_record>]], [<function IF>, [<function create_ticket>]]], <function BREAK>, [<function close_ticket>]]]]]

inspirehep.modules.workflows.workflows.edit_article module

class inspirehep.modules.workflows.workflows.edit_article.EditArticle[source]

Bases: object

Editing workflow for Literature collection.

data_type = 'hep'
name = 'edit_article'
workflow = [<function change_status_to_waiting>, <function validate_record>, <function update_record>, <function send_robotupload>, <function cleanup_pending_workflow>]
inspirehep.modules.workflows.workflows.edit_article.change_status_to_waiting(*args, **kwargs)[source]
inspirehep.modules.workflows.workflows.edit_article.update_record(obj, eng)[source]

inspirehep.modules.workflows.workflows.manual_merge module

class inspirehep.modules.workflows.workflows.manual_merge.ManualMerge[source]

Bases: object

data_type = ''
name = 'MERGE'
workflow = [<function merge_records>, <function halt_for_merge_approval>, <function save_roots>, <function store_records>]
inspirehep.modules.workflows.workflows.manual_merge.start_merger(head_id, update_id, current_user_id=None)[source]

Start a new ManualMerge workflow to merge two records manually.

Parameters:
  • head_id – the id of the first record to merge. This record is the one that will be updated with the new information.
  • update_id – the id of the second record to merge. This record is the one that is going to be deleted and replaced by head.
  • current_user_id – Id of the current user provided by the Flask app.
Returns:

the current workflow object’s id.

Return type:

(int)

Module contents

Our workflows.