manage.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:hellogithub.com 作者: 521xueweihan 项目源码 文件源码
def manage_volume():
    """
    ????
    """
    if request.method == 'GET':
        volume_id = request.args.get('volume_id')
        if volume_id:
            volume_object = Volume.select()\
                                  .where(Volume.id == volume_id)\
                                  .get()
            return jsonify(payload=model_to_dict(volume_object))
        else:
            volume_objects = Volume.select().order_by(Volume.name)
            return render_template('manage/volume.html',
                                   volumes=volume_objects,
                                   page_title=u'Vol.??')
    # ?? Vol.
    elif request.method == 'POST':
        volume_name = request.form.get('volume_name')
        if volume_name:
            try:
                Volume.create(name=volume_name)
                return jsonify(message=u'?????{}???'.format(volume_name))
            except IntegrityError:
                raise ParamsConflict(message=u'???????{} ???'
                                     .format(volume_name))
        else:
            raise InvalidParams(message=u'???????name ????')
    # ?? Vol.
    elif request.method == 'PATCH':
        volume_name = request.form.get('volume_name')
        volume_id = request.form.get('volume_id')
        if not volume_name:
            raise InvalidParams(message=u'?? Vol. ???name ????')
        else:
            try:
                Volume.update(name=volume_name, update_time=datetime.now())\
                      .where(Volume.id == volume_id)\
                      .execute()
                return jsonify(message=u'?? Vol. {} ????'
                               .format(volume_name))
            except IntegrityError:
                raise ParamsConflict(message=u'?? Vol. ???{} ???'
                                     .format(volume_name))
    # ?? Vol.
    elif request.method == 'DELETE':
        volume_id = request.form.get('volume_id')
        volume_name = request.form.get('volume_name')
        try:
            content_query = Content.select()\
                                   .join(Volume)\
                                   .where(Volume.id == volume_id)\
                                   .get()
            project_url = content_query.project_url
            raise InvalidParams(message=u'?? Vol. ???{project_url}????'
                                        u'??? Vol.??????????'
                                .format(project_url=project_url))
        except DoesNotExist:
            Volume.delete().where(Volume.id == volume_id).execute()
            return jsonify(message=u'?? Vol.?{}???'
                           .format(volume_name))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号