Exemplo n.º 1
0
def do_get_request(env):
    body = ""
    fields = parse_formvars(env)
    if fields.has_key('byUser'):
        user = fields['byUser']
        try:
            body = get_priv_by_user(user)
            code = rdserr.CODE_SUCCESS
        except Exception, e:
            log.error("[auth mng][do_get_request] Exception %s" % (e))
            code = rdserr.map_exception_to_code(int(e[0]))
Exemplo n.º 2
0
def do_delete_request(env):
    # params:
    name = None
    fields = parse_formvars(env)
    if fields.has_key('nmDB'):
        name = fields['nmDB']
    if name == None or name.strip() == "":
        code = rdserr.CODE_ERROR_PARAMS
    else:
        try:
            # revoke from dba
            if judge_db_exist(name):
                # Todo...
                pass
            if 0 == drop_db(name):
                code = rdserr.CODE_SUCCESS
        except Exception, e:
            log.error("[db mng][do_delete_request] Exception %s" % (e))
            code = rdserr.map_exception_to_code(int(e[0]))
Exemplo n.º 3
0
def do_get_request(env):
    # params
    islist = False
    fields = parse_formvars(env)
    if fields.has_key('list'):
        islist = True
    else:
        code = rdserr.CODE_ERROR_PARAMS
        dbs = ''

    if islist:
        # list databases:
        try:
            dbs = list_dbs()
            code = rdserr.CODE_SUCCESS
        except Exception, e:
            log.error("[db mng][do_get_request] Exception %s" % (e))
            code = rdserr.map_exception_to_code(int(e[0]))
            dbs = ''
Exemplo n.º 4
0
def do_post_request(env):
    # params:
    fields = parse_formvars(env)
    if fields.has_key('nmDB') and fields.has_key('defCharacterSetDB'):
        name = fields['nmDB']
        charset = fields['defCharacterSetDB']
        if name == None or name.strip(
        ) == "" or charset == None or charset.strip() == "":
            code = rdserr.CODE_ERROR_PARAMS
        else:
            try:
                created_success = False
                # judge db exist
                if judge_db_exist(name):
                    code = rdserr.CODE_SUCCESS_DB_EXISTS
                # judge charset valid
                elif not judge_charset_valid(charset):
                    code = rdserr.CODE_ERROR_DB_CHARSET
                else:
                    # create db
                    if 0 == create_db(name, charset):
                        created_success = True
                        code = rdserr.CODE_SUCCESS
                # grant to dba
                if judge_db_exist(name):
                    #Todo...grant db to dba
                    grant('dba', name, 'RW')
                    pass
                else:
                    code = rdserr.CODE_ERROR_DB_CREATE
            except Exception, e:
                log.error("[db mng][do_post_request] Exception %s" % (e))
                code = rdserr.map_exception_to_code(int(e[0]))
                if created_success:
                    try:
                        dbmng_drop_db(name)
                    except Exception, e:
                        log.warning(
                            "[db mng][do_post_request] Exception Drop db %s" %
                            (e))
Exemplo n.º 5
0
def do_put_request(env):
    body = ""
    req_body = None
    # params:
    fields = parse_formvars(env)
    if fields.has_key('grant') and None != env['wsgi.input']:
        req_body = env['wsgi.input'].read(int(env['CONTENT_LENGTH']))
        if req_body == None or req_body == "":
            code = rdserr.CODE_ERROR_PARAMS
        else:
            # grant operation:
            try:
                log.debug("--------here------------%s, %s" %
                          (type(req_body), req_body))
                ret_data = do_grant_operation(req_body)
                code = ret_data['code']
                body = ret_data['result']
            except Exception, e:
                log.error(
                    "[auth mng][do_put_request] grant operation Exception %s" %
                    (e))
                code = rdserr.map_exception_to_code(int(e[0]))
Exemplo n.º 6
0
def entry(environ, start_response):
    log.debug("[init rds][entry] environ %s" % (environ))
    # params:
    vol = ""
    fields = parse_formvars(environ)
    if fields.has_key('vol'):
        vol = fields['vol']
    if environ.has_key('REQUEST_METHOD'):
        method = environ['REQUEST_METHOD']

    if method == None or method != "PUT":
        start_response('405 OK', [('Content-Type', 'text/html')])
        ret_json = "Method Not Allowed"
    else:
        # check device:
        if not is_valid_device(vol):
            ret_code = rdserr.CODE_ERROR_DEV_NOT_EXISTS
        else:
            # init RDS:
            if 0 == init_rds(vol):
                # success:
                ret_code = rdserr.CODE_SUCCESS
            else:
                # failure:
                ret_code = rdserr.CODE_ERROR_UNKNOW
        # return json:
        str_code = rdserr.get_str_by_code(ret_code)
        ret_json = json.dumps(
            {
                u'code': ret_code,
                u'str': str_code,
                u'body': u''
            },
            ensure_ascii=False)
        ret_json = ret_json.encode('utf-8')
        log.debug("[init rds][entry] result %s" % (ret_json))
        start_response('200 OK', [('Content-Type', 'text/html')])
    return [ret_json]