from base import controller
from models.dbQuery import db_query
import requests, json
from random import randrange

import trimesh
import numpy as np

from settings import ENV_VARS



class UserBlockNewView(controller.Controller):

    def post(self, bclass, view_id):

        data = db_query.get_block(bclass)

        obj_path = ''

        # save assets
        file = self.request.files["asset"][0]

        files_data = {"file": (file["filename"], file["body"], file["content_type"])}
        r = requests.post(ENV_VARS.UPLOAD_PATH, data={'path': "avvy_assets"}, files=files_data)

        filename = r.json()["files"]["file"]
        obj_path = ENV_VARS.STORAGE_DIR_URL + "/" + filename

        print(obj_path)

        data["manifest"]["meta"]["views"][self.args["id"]] = obj_path
        updated_data = db_query.add_block(data)

        self.write(json.dumps({'data': updated_data}))

    def delete(self, bclass, view_id):

        data = db_query.get_block(bclass)
        del data["manifest"]["meta"]["views"][view_id]
        data = db_query.add_block(data)

        self.write(json.dumps({'data': data}))