import requests

from uncloud.cli.helper import make_request
from uncloud.common.parser import BaseParser


class ImageParser(BaseParser):
    def __init__(self):
        super().__init__('image')

    def create(self, **kwargs):
        p = self.subparser.add_parser('create', **kwargs)
        p.add_argument('--name', required=True)
        p.add_argument('--uuid', required=True)
        p.add_argument('--image-store', required=True, dest='image_store')

    def list(self, **kwargs):
        self.subparser.add_parser('list', **kwargs)


parser = ImageParser()
arg_parser = parser.arg_parser


def main(**kwargs):
    subcommand = kwargs.pop('image_subcommand')
    if not subcommand:
        arg_parser.print_help()
    else:
        data = None
        request_method = requests.post
        if subcommand == 'list':
            subcommand = 'list-public'
            request_method = requests.get
        elif subcommand == 'create':
            data = kwargs

        make_request('image', subcommand, data=data, request_method=request_method)
