Esempio n. 1
0
def test(ctx):
    vds = VdsApiBase(ctx.obj['user'], ctx.obj['passwd'], debug=False)
    if ctx.obj['impersonate']:
        vds.impersonate(ctx.obj['impersonate'])
    for environment in ['maps', 'staging', 'test']:
        try:
            vds.environment = environment
            click.echo(vds)
            start = time.time()
            status_uri = f'http://{vds.host}/api/v2/status/'
            bv = vds.get_content(status_uri)['backend_version']
            click.echo(f"backend version: {bv}")
            vds.logger.info(f'API RESPONSE TIME: {time.time() - start:0.4f} seconds')
        except HTTPError:
            vds.logger.info(f'Not authorized for environment: {environment}')
        click.echo()
    vds.logger.info(' ================== Finished ==================')
Esempio n. 2
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 ==================')