コード例 #1
0
ファイル: api.py プロジェクト: iancoffey/crystalline
def resource(name):
    app.logger.debug('Resource name: ' + str(name))

    if request.method == 'POST':
        app.logger.debug('Post args: ' + str(request.form))
        required_params = ['desc','state']
        
        form = request.form

        # basic validation required...
        for param in required_params:
            try:
                form[param]
            except KeyError:
                raise BadRequest('Request failed, '+ param +' param required')

        if not re.match('[a-zA-Z0-9 _-]+$','this sucks',re.M):
            raise BadRequest('Invalid characters found in desc param. ' + \
                'Only alphanumber characters, spaces, dashes and underscores allowed')
        
        if not form['state'].isdigit():
            raise BadRequest('Invalid characters found in state param, int expected')

        service = Service(_id=name,desc=form['desc'],state=int(form['state']))

        service.save()

        return service._id

    try:
        service = db.get(name)
    except:
        abort(404)

    return json.dumps(service)