Esempio n. 1
0
def rs():
    config = mc.Config()
    config.get_executors()
    vos_client = Client(vospace_certfile=config.proxy_fqn)
    builder = GemProcBuilder(config)
    storage_name = builder.build(sys.argv[1])
    store_transfer = tc.VoFitsTransfer(vos_client)
    rc.run_single(
        config=config,
        storage_name=storage_name,
        command_name='gemProc2caom2',
        meta_visitors=[],
        data_visitors=[provenance_augmentation, preview_augmentation],
        store_transfer=store_transfer,
    )
Esempio n. 2
0
def test_run_single(do_mock, test_config):
    _clean_up_log_files(test_config)
    progress_file = os.path.join(tc.TEST_DATA_DIR, 'progress.txt')

    test_config.features.expects_retry = False
    test_config.progress_fqn = progress_file

    test_config.state_fqn = STATE_FILE
    test_config.interval = 5
    test_state = mc.State(test_config.state_fqn)
    test_state.save_state('gemini_timestamp', datetime.utcnow())

    do_mock.return_value = -1

    test_url = 'http://localhost/test_url.fits'
    test_storage_name = mc.StorageName(url=test_url)

    test_result = rc.run_single(
        test_config,
        test_storage_name,
        'test_command',
        meta_visitors=None,
        data_visitors=None,
    )
    assert test_result is not None, 'expect a result'
    assert test_result == -1, 'wrong result'

    assert do_mock.called, 'do mock not called'
    assert do_mock.call_count == 1, do_mock.call_count
    args, kwargs = do_mock.call_args
    test_storage = args[0]
    assert isinstance(test_storage, mc.StorageName), type(test_storage)
    assert test_storage.obs_id is None, 'wrong obs id'
    assert test_storage.url == test_url, test_storage.url
Esempio n. 3
0
def _run_single():
    """expects a single file name on the command line"""
    builder = nbc.EntryBuilder(storage_name.VlassName)
    vlass_name = builder.build(sys.argv[1])
    return rc.run_single(
        storage_name=vlass_name,
        meta_visitors=META_VISITORS,
        data_visitors=DATA_VISITORS,
        store_transfer=tc.HttpTransfer(),
    )
Esempio n. 4
0
def _run_single():
    """expects a single file name on the command line"""
    config = mc.Config()
    config.get_executors()
    if config.features.use_file_names:
        vlass_name = sn.VlassName(file_name=sys.argv[1], entry=sys.argv[1])
    elif config.features.use_urls:
        vlass_name = sn.VlassName(url=sys.argv[1], entry=sys.argv[1])
    else:
        vlass_name = sn.VlassName(obs_id=sys.argv[1], entry=sys.argv[1])
    return rc.run_single(config=config,
                         storage_name=vlass_name,
                         command_name=sn.APPLICATION,
                         meta_visitors=META_VISITORS,
                         data_visitors=DATA_VISITORS,
                         store_transfer=tc.HttpTransfer())
Esempio n. 5
0
def _run_single():
    """
    Run the processing for a single entry.
    :return 0 if successful, -1 if there's any sort of failure. Return status
        is used by airflow for task instance management and reporting.
    """
    config = mc.Config()
    config.get_executors()
    config.resource_id = 'ivo://cadc.nrc.ca/sc2repo'
    if config.features.run_in_airflow:
        temp = tempfile.NamedTemporaryFile()
        mc.write_to_file(temp.name, sys.argv[2])
        config.proxy = temp.name
    else:
        config.proxy = sys.argv[2]
    config.stream = 'default'
    if config.features.use_file_names:
        storage_name = gem_name.GemName(file_name=sys.argv[1])
    else:
        raise mc.CadcException('No code to handle running GEM by obs id.')
    external_metadata.init_global(config=config)
    meta_visitors = _define_meta_visitors(config)
    return rc.run_single(config, storage_name, main_app.APPLICATION,
                         meta_visitors, DATA_VISITORS)