示例#1
0
    def delete_download_history(cls, data):
        try:
            database = ArangoCore.get_database()
            collections = [ArangoEdge.USER_DOWNLOAD]
            with database.transaction(write=collections,
                                      commit_on_error=False) as transaction:
                ArangoCore.delete_edge_from_collection(
                    ArangoEdge.USER_DOWNLOAD, data.get('_key'), transaction)
                transaction.commit()

            return True
        except Exception as exception:
            raise exception
示例#2
0
    def delete_data(cls, data):
        try:
            database = ArangoCore.get_database()
            collections = [ArangoVertex.DATA, ArangoEdge.USER_DATA]
            with database.transaction(write=collections,
                                      commit_on_error=False) as transaction:
                data_id = data.get('id')
                user_id = data.get('user_id')
                ArangoCore.delete_vertex_from_collection(
                    ArangoVertex.DATA, data_id, transaction)
                key = '{0}-{1}'.format(user_id, data_id)
                ArangoCore.delete_edge_from_collection(ArangoEdge.USER_DATA,
                                                       key, transaction)
                transaction.commit()

            return True
        except Exception as exception:
            raise exception
示例#3
0
    def unfollow_band(cls, user_id, band_data):
        try:
            database = ArangoCore.get_database()
            collections = ACTIVITY_COLLECTIONS
            collections += [ArangoVertex.BAND, ArangoEdge.USER_FOLLOW]
            with database.transaction(write=collections,
                                      commit_on_error=False) as transaction:
                # Remove relation between 2 user
                _key = '{0}-{1}'.format(user_id, band_data['user_id'])
                ArangoCore.delete_edge_from_collection(ArangoEdge.USER_FOLLOW,
                                                       _key)

                # Update band data
                cls.update_band(band_data['user_id'],
                                band_data['follow_count'], transaction)

            transaction.commit()

        except Exception as exception:
            raise exception