Exemplo n.º 1
0
    def put(self, album_id):
        album = Album.select().where(Album.id == album_id).first()
        if album:
            status_code = 200
            args = self.parser.parse_args()
            classification = args.get('classification', [])
            cl_json_list = []
            """ Return album data without update if error classification data"""
            if type(classification) == type([]) and len(classification) != 0:
                cl_obj_list = Classification.select().where(
                    Classification.id << classification)
                for item in cl_obj_list:
                    if item in album.classification:
                        continue
                    album.classification.add(item)
                    album.save()

            for item in album.classification:
                cl_json_list.append(model_to_dict(item))
            album = model_to_dict(album)
            album['classification'] = cl_json_list
            resp = {'error_code': 0, 'data': album}

        else:
            status_code = 400
            self.resource_fields['message'] = fields.String(
                attribute='message')
            resp = {'error_code': 40021, 'message': 'Album dose not exist.'}
        return make_response(json.dumps(marshal(resp, self.resource_fields)),
                             status_code)
Exemplo n.º 2
0
 def get(self):
     self.parser.remove_argument('name')
     self.parser.remove_argument('artist')
     self.parser.remove_argument('is_hot')
     self.parser.remove_argument('classification')
     self.resource_fields['data'] = fields.List(
         fields.Nested(self.album_fields))
     args = self.parser.parse_args()
     offset = args.get('offset')
     limit = args.get('limit')
     cl_id = args.get('classification_id')
     album_list = (Album.select().join(AlbumClassificationThrough).join(
         Classification).where(Classification.id == cl_id).paginate(
             offset, limit)) if cl_id else (Album.select().paginate(
                 offset, limit))
     data = [
         model_to_dict(album, backrefs=True, manytomany=True)
         for album in album_list
     ]
     resp = {'error_code': 0, 'data': data}
     return make_response(json.dumps(marshal(resp, self.resource_fields)),
                          200)
Exemplo n.º 3
0
    def get(self, album_id):
        resp = {}
        album = Album.select().where(Album.id == album_id).first()
        if album:
            cl_obj_list = album.classification
            cl_json_list = []
            if cl_obj_list.exists():
                for item in cl_obj_list:
                    cl_json_list.append(model_to_dict(item))
            album = model_to_dict(album)
            album['classification'] = cl_json_list
            resp = {'error_code': 0, 'data': album}

        return make_response(json.dumps(marshal(resp, self.resource_fields)),
                             200)