def facade(projectmainfn: Callable[[Configuration], None], **kwargs) -> bool:
    """Facade that handles ScraperWiki and calls project main function

    Args:
        projectmainfn ((configuration) -> None): main function of project
        **kwargs: configuration parameters to pass to HDX Configuration class

    Returns:
        bool: True = success, False = failure
    """

    try:
        #
        # Setting up configuration
        #
        configuration = Configuration(**kwargs)

        logger.info('--------------------------------------------------')
        logger.info('> HDX Site: %s' % configuration.get_hdx_site())

        projectmainfn(configuration)

    except Exception as e:
        logger.critical(e, exc_info=True)
        scraperwiki.status('error', 'Run failed: %s' % sys.exc_info()[0])
        return False
    logger.info('Run completed successfully.\n')
    scraperwiki.status('ok')
    return True
Exemple #2
0
def facade(projectmainfn: Callable[[Configuration], None], **kwargs) -> None:
    """Facade to simplify project setup that calls project main function

    Args:
        projectmainfn ((configuration) -> None): main function of project
        **kwargs: configuration parameters to pass to HDX Configuration class

    Returns:
        None
    """

    #
    # Setting up configuration
    #
    configuration = Configuration(**kwargs)

    logger.info('--------------------------------------------------')
    logger.info('> HDX Site: %s' % configuration.get_hdx_site())

    projectmainfn(configuration)
 def test_get_hdx_key_site(self, hdx_key_file, project_config_yaml):
     actual_configuration = Configuration(hdx_site='uat', hdx_key_file=hdx_key_file,
                                          hdx_config_dict={},
                                          project_config_yaml=project_config_yaml)
     assert actual_configuration.get_api_key() == '12345'
     assert actual_configuration.get_hdx_site() == 'https://uat-data.humdata.org/'
 def __init__(self, configuration: Configuration, initial_data: dict):
     super(HDXObject, self).__init__(initial_data)
     self.configuration = configuration
     self.old_data = None
     self.hdxpostsite = ckanapi.RemoteCKAN(configuration.get_hdx_site(),
                                           apikey=configuration.get_api_key())
Exemple #5
0
def my_excfn(configuration: Configuration):
    testresult.actual_result = configuration.get_hdx_site()
    raise ValueError('Some failure!')
Exemple #6
0
def my_testfn(configuration: Configuration):
    testresult.actual_result = configuration.get_hdx_site()