Exemplo n.º 1
0
def info(ctx, all_info, user_, product_list, roi):
    vds = VdsApiBase(ctx.obj['user'], ctx.obj['passwd'], debug=False)
    if ctx.obj['environment'] is not None:
        vds.host = ctx.obj['environment']
    if ctx.obj['impersonate']:
        vds.impersonate(ctx.obj['impersonate'])
    bv = vds.get_content(f'http://{vds.host}/api/v2/status/')['backend_version']
    click.echo(f"backend version: {bv}")
    if not (user_ or product_list or roi):
        all_info = True

    if user_ or all_info:
        show = ['id', 'name', 'email', 'roles', 'login_count', 'last_login_at']
        if vds.usr_dict['geojson_area_allowed']['type'] == 'Polygon':
            x, y = zip(*vds.usr_dict['geojson_area_allowed']['coordinates'][0])
        else:
            x, y = None, None
        click.echo('\n######################### USER #########################\n')
        njump = 26  # Hosizontal outline position
        for key in show:
            click.echo(f'{key:>{njump}s} | {vds.usr_dict[key]} ')
        if x is not None and y is not None:
            click.echo(f'\n{"Area extent LON":>{njump}s} | {min(x)} {max(x)}')
            click.echo(f'{"Area extent LAT":>{njump}s} | {min(y)} {max(y)}')

    if product_list or all_info:
        head = '\n ## |             # API name #            |         # Name #        \n'
        click.echo('\n############################ PRODUCTS ############################' + head + '='*len(head))
        for i, p in enumerate(vds.products):
            click.echo(f' {i:02d} | {p.api_name:35s} | {p.name} ')

    if roi or all_info:
        click.echo('\n######################### ROIS #########################')
        click.echo(vds.rois)
        click.echo()
        vds.logger.info(' ================== Finished ==================')
Exemplo n.º 2
0
def test_host_setter(credentials):
    vds = VdsApiBase(credentials['user'], credentials['pw'])
    vds.host = 'staging'
    assert vds.host == 'staging.vandersat.com'
    with pytest.raises(ValueError):
        vds.host = 'nonexisting'