예제 #1
0
class Get_Volumes(View):

    __request = None
    __response = None
    __helpers = None
    __form = None
    __logger = None
    __user_id = None
    __host_id = None
    __volume_id = None
    __host_module = None
    __volume_module = None

    def __init__(self):
        self.__request = Request()
        self.__response = Response()
        self.__helpers = Helpers()
        self.__form = Form()
        self.__host_module = Host_Module()
        self.__volume_module = Volume_Module()
        self.__logger = self.__helpers.get_logger(__name__)

    def get(self, request, host_id):

        self.__user_id = request.user.id
        self.__host_id = host_id

        if not self.__host_module.user_owns(self.__host_id, self.__user_id):
            return JsonResponse(
                self.__response.send_private_failure([{
                    "type":
                    "error",
                    "message":
                    _("Error! Invalid Request.")
                }]))

        if self.__volume_module.set_host(self.__host_id).check_health():
            _host = self.__host_module.get_one_by_id(host_id)
            return JsonResponse(
                self.__response.send_private_success(
                    [], {
                        'volumes':
                        self.__format_volumes(self.__volume_module.list(),
                                              host_id, _host.slug)
                    }))
        else:
            return JsonResponse(
                self.__response.send_private_failure([{
                    "type":
                    "error",
                    "message":
                    _("Error! Something goes wrong with your host!")
                }], {'volumes': []}))

    def __format_volumes(self, volumes_list, host_id, host_slug):
        _volumes_list = []

        for volume in volumes_list:
            date = volume["created"].split("T")
            volume["created_at"] = date[0]
            volume["url"] = "#"
            volume["delete_url"] = "#"
            if volume["short_id"] in volume["name"]:
                volume["name"] = volume["short_id"]
            # volume["url"] = reverse("app.web.admin.hosts.view.volume", kwargs={'host_slug': host_slug, 'volume_id': volume['long_id']})
            # volume["delete_url"] = reverse("app.api.private.v1.admin.action.host.delete_volume.endpoint", kwargs={'host_id': host_id})
            _volumes_list.append(volume)

        return _volumes_list
예제 #2
0
파일: images.py 프로젝트: megamcloud/Kraven
class Get_Images(View):

    __request = None
    __response = None
    __helpers = None
    __form = None
    __logger = None
    __user_id = None
    __host_id = None
    __host_module = None
    __image_module = None

    def __init__(self):
        self.__request = Request()
        self.__response = Response()
        self.__helpers = Helpers()
        self.__form = Form()
        self.__host_module = Host_Module()
        self.__image_module = Image_Module()
        self.__logger = self.__helpers.get_logger(__name__)

    def get(self, request, host_id):

        self.__user_id = request.user.id
        self.__host_id = host_id

        if not self.__host_module.user_owns(self.__host_id, self.__user_id):
            return JsonResponse(
                self.__response.send_private_failure([{
                    "type":
                    "error",
                    "message":
                    _("Error! Invalid Request.")
                }]))

        if self.__image_module.set_host(self.__host_id).check_health():
            _host = self.__host_module.get_one_by_id(host_id)
            return JsonResponse(
                self.__response.send_private_success(
                    [], {
                        'images':
                        self.__format_image(self.__image_module.list(),
                                            host_id, _host.slug)
                    }))
        else:
            return JsonResponse(
                self.__response.send_private_failure([{
                    "type":
                    "error",
                    "message":
                    _("Error! Something goes wrong with your host!")
                }], {'images': []}))

    def __format_image(self, images_list, host_id, host_slug):
        _image_list = []

        for image in images_list:
            date = image["created"].split("T")
            image["created_at"] = date[0]
            image["size"] = image["size"]["MB"]
            _tags = []
            for tag in image["tags"]:
                tag = tag.split(":")
                _tags.append({"name": tag[0], "version": tag[1]})
            image["tags"] = _tags
            image["url"] = reverse("app.web.admin.hosts.view.image",
                                   kwargs={
                                       'host_slug': host_slug,
                                       'image_id': image['long_id']
                                   })
            image["delete_url"] = reverse(
                "app.api.private.v1.admin.action.host.delete_image.endpoint",
                kwargs={'host_id': host_id})
            _image_list.append(image)

        return _image_list
예제 #3
0
class Get_Networks(View):

    __request = None
    __response = None
    __helpers = None
    __form = None
    __logger = None
    __user_id = None
    __host_id = None
    __network_id = None
    __host_module = None
    __network_module = None

    def __init__(self):
        self.__request = Request()
        self.__response = Response()
        self.__helpers = Helpers()
        self.__form = Form()
        self.__host_module = Host_Module()
        self.__network_module = Network_Module()
        self.__logger = self.__helpers.get_logger(__name__)

    def get(self, request, host_id):

        self.__user_id = request.user.id
        self.__host_id = host_id

        if not self.__host_module.user_owns(self.__host_id, self.__user_id):
            return JsonResponse(self.__response.send_private_failure([{
                "type": "error",
                "message": _("Error! Invalid Request.")
            }]))

        if self.__network_module.set_host(self.__host_id).check_health():
            _host = self.__host_module.get_one_by_id(host_id)
            return JsonResponse(self.__response.send_private_success([], {
                'networks': self.__format_networks(
                    self.__network_module.list(),
                    host_id,
                    _host.slug
                )
            }))
        else:
            return JsonResponse(self.__response.send_private_failure([{
                "type": "error",
                "message": _(
                    "Error! Something goes wrong with your host!"
                )
            }], {
                'networks': []
            }))

    def __format_networks(self, networks_list, host_id, host_slug):
        _networks_list = []

        for network in networks_list:
            date = network["created"].split("T")
            network["created_at"] = date[0]
            network["url"] = "#"
            network["delete_url"] = "#"
            # network["url"] = reverse("app.web.admin.hosts.view.network", kwargs={'host_slug': host_slug, 'network_id': network['long_id']})
            # network["delete_url"] = reverse("app.api.private.v1.admin.action.host.delete_network.endpoint", kwargs={'host_id': host_id})
            _networks_list.append(network)

        return _networks_list