def main(config, args, run): """Main wrapper function for begin_extraction, and is always accessed in a standalone/independent way. (i.e. calling main will cause refextract to run in an independent mode)""" # Flag as running out of bibtask global RUNNING_INDEPENDENTLY RUNNING_INDEPENDENTLY = True if config.verbosity not in range(0, 10): usage("Error: Verbosity must be an integer between 0 and 10") setup_loggers(config.verbosity) if config.version: # version message and exit write_message(__revision__, verbose=0) halt(exit_code=0) if config.help: usage() if not args: # no files provided for reference extraction - error message usage("Error: No valid input file specified (file1 [file2 ...])") try: run(config, args) write_message("Extraction complete", verbose=2) except StandardError as e: # Remove extra '\n' write_message(traceback.format_exc()[:-1], verbose=9) write_message("Error: %s" % e, verbose=0) halt(exit_code=1)
def task_run_core(recid, records, bibcatalog_system=None, _arxiv=False): setup_loggers(None, use_bibtask=True) if _arxiv: overwrite = True else: overwrite = not task_get_option('no-overwrite') try: record = extract_references_from_record(recid) msg = "Extracted references for %s" % recid safe_to_extract = True if overwrite: write_message("%s (overwrite)" % msg) else: write_message(msg) if not check_record_for_refextract(recid): write_message('Record not safe for re-extraction, skipping') safe_to_extract = False if safe_to_extract: records.append(record) # Create a RT ticket if necessary if task_get_option('new') or task_get_option('create-ticket'): create_ticket(recid, bibcatalog_system) except FullTextNotAvailable: write_message("No full text available for %s" % recid)