Ejemplo n.º 1
0
 def wrapper(*args, **kwargs):
     if request.method == 'GET':
         geostore = request.args.get('geostore')
         if not geostore:
             return error(status=400, detail='Geostore is required')
         try:
             d = GeostoreService.get(geostore)
         except GeostoreNotFound:
             return error(status=404, detail='Geostore not found')
     kwargs["geojson"] = d['geojson']
     kwargs["bbox"] = d["bbox"]
     return func(*args, **kwargs)
Ejemplo n.º 2
0
def composite_maker(geojson, instrument, date_range, thumb_size, band_viz,
                    get_dem, cloudscore_thresh, bbox, get_files):
    """
    Get a composite satellite image for a geostore id .
    """
    try:
        logging.info(f'\n[ROUTER] DATE RANGE 2 : {date_range}')
        data = CompositeService.get_composite_image(
            geojson=geojson,
            instrument=instrument,
            date_range=date_range,
            thumb_size=thumb_size,
            band_viz=band_viz,
            get_dem=get_dem,
            cloudscore_thresh=cloudscore_thresh,
            bbox=bbox,
            get_files=get_files)
        logging.info(f"[ROUTER]: Result {data}")
    except CompositeError as e:
        logging.error(f'[ROUTER]: {e.message}')
        return error(status=500, detail=e.message)
    if get_files:
        delete_old_files()
        try:
            zipFile = f"/opt/composite/tmp_imgs/{data.get('rand_string')}.zip"
            with ZipFile(zipFile, 'w') as zipObj:
                zipObj.write(data.get('surface_png'),
                             arcname=f"{data.get('rand_string')}.png")
                zipObj.write(data.get('dem_tif'),
                             arcname=f"{data.get('rand_string')}.tif")
            return send_file(zipFile, attachment_filename='surface.zip')
        except Exception as e:
            return error(status=500, detail=e.message)
    else:
        return jsonify(serialize_composite_output(data,
                                                  'composite_service')), 200
Ejemplo n.º 3
0
def internal_server_error(e):
    return error(status=500, detail='Internal Server Error')
Ejemplo n.º 4
0
def gone(e):
    return error(status=410, detail='Gone')
Ejemplo n.º 5
0
def method_not_allowed(e):
    return error(status=405, detail='Method Not Allowed')
Ejemplo n.º 6
0
def page_not_found(e):
    return error(status=404, detail='Not Found')
Ejemplo n.º 7
0
def forbidden(e):
    return error(status=403, detail='Forbidden')