コード例 #1
0
def create_video(
        db: Session,
        cloud: str, bucket: str, key: str,
        etag: str = None, mime_type: str = None, size: int = None,
        duration: int = None, width: int = None, height: int = None,
        persistent_id: str = None) ->MoretimeVideoModel:
    """ Create `video` record if not existed.
        Igonre `Duplicate Entry` error.
    """
    video = None
    try:
        video = MoretimeVideoModel(
            cloud=cloud, bucket=bucket, key=key,
            etag=etag, mime_type=mime_type, size=size,
            duration=duration, width=width, height=height,
            persistent_id=persistent_id,
            status=0,
            create_ts=current_timestamp()
        )
        db.add(video)
        db.commit()

    except IntegrityError as exc:
        db.rollback()
        if is_duplicate_entry_exception(exc):
            return video
        else:
            raise
    return video
コード例 #2
0
def create_reply(db: Session,
                 poster_id: int,
                 from_user_id: int,
                 to_user_id: int,
                 parent_ids: str,
                 prior_id: int,
                 content: str,
                 picture_id_list: List[int] = None,
                 video_id_list: List[int] = None,
                 sort_order: List[int] = None) -> DictObject:

    reply = ReplyModel(poster_id=poster_id,
                       prior_id=prior_id,
                       parent_ids=parent_ids,
                       create_ts=current_timestamp(),
                       content=content,
                       from_user_id=from_user_id,
                       to_user_id=to_user_id)
    if picture_id_list:
        reply.picture_ids_private = ','.join([str(i) for i in picture_id_list])

    if video_id_list:
        reply.video_ids_private = ','.join([str(i) for i in video_id_list])

    if sort_order is not None:
        reply.sort_order = ','.join([str(i) for i in sort_order])
    return reply
コード例 #3
0
def create_poster_transaction(db: Session,
                              order_no: int,
                              from_user_id: int,
                              to_user_id: int,
                              content: str,
                              picture_id_list: List[int] = None,
                              video_id_list: List[int] = None,
                              sort_order: List[int] = None) -> int:
    poster = None
    try:
        poster = PosterModel(index_id=order_no,
                             create_ts=current_timestamp(),
                             content=content,
                             from_user_id=from_user_id,
                             to_user_id=to_user_id)
        if picture_id_list is not None:
            poster.picture_ids_private = ','.join(
                [str(i) for i in picture_id_list])

        if video_id_list is not None:
            poster.video_ids_private = ','.join(
                [str(i) for i in video_id_list])

        if sort_order is not None:
            poster.sort_order = ','.join([str(i) for i in sort_order])

        db.add(poster)
        db.commit()
    except Exception as e:
        # TODO: LOG
        db.rollback()
        print('create_poster_transaction', str(e))
        raise

    return poster
コード例 #4
0
ファイル: rate.py プロジェクト: SixingYan/BackendSystem
def create_rate(db: Session, order_no: int, rate: int, buyer_id: int,
                seller_id: int) -> int:
    order_rate = MoretimeRateModel(order_no=order_no,
                                   rate=rate,
                                   update_ts=current_timestamp(),
                                   buyer_id=buyer_id,
                                   seller_id=seller_id)
    return order_rate
コード例 #5
0
ファイル: rate.py プロジェクト: SixingYan/BackendSystem
def delete_rate_by_order_no(db: Session, order_no: int):
    try:
        m_rate = MoretimeRateModel(order_no=order_no)
        m_rate.status = -1,
        m_rate.update_ts = current_timestamp()

        db.merge(m_rate)
        db.commit()
    except Exception as e:
        db.rollback()
        print('delete_rate_by_order_no', str(e))
        raise
コード例 #6
0
def delete_reply_by_id(db: Session, reply_id: int) -> None:
    try:
        m_reply = ReplyModel(reply_id=reply_id)
        m_reply.status = -1
        m_reply.update_ts = current_timestamp()

        db.merge(m_reply)
        db.commit()
    except Exception as e:
        db.rollback()
        print('delete_reply_by_reply_id', str(e))
        raise
コード例 #7
0
def delete_poster_by_id(db: Session, poster_id: int):
    try:
        m_poster = PosterModel(id=poster_id)
        m_poster.status = -1,
        m_poster.update_ts = current_timestamp()

        db.merge(m_poster)
        db.commit()
    except Exception as e:
        db.rollback()
        print('delete_poster_by_poster_id', str(e))
        raise
コード例 #8
0
def delete_poster_picvide_public_by_poster_id(db: Session, poster_id: int):
    try:
        m_poster = PosterModel(id=poster_id)
        m_poster.picture_ids_public = ''
        m_poster.video_ids_public = ''
        m_poster.update_ts = current_timestamp()

        db.merge(m_poster)
        db.commit()
    except Exception as e:
        db.rollback()
        print('delete_poster_picvide_public_by_poster_id', str(e))
        raise
コード例 #9
0
def delete_poster_picvide_public_by_reply_id(db: Session,
                                             reply_id: int) -> None:
    """ """
    try:
        m_reply = ReplyModel(reply_id=reply_id)
        m_reply.picture_ids_public = ''
        m_reply.video_ids_public = ''
        m_reply.update_ts = current_timestamp()

        db.merge(m_reply)
        db.commit()
    except Exception as e:
        db.rollback()
        print('delete_poster_by_poster_id', str(e))
        raise
コード例 #10
0
def update_poster_by_id(db: Session,
                        poster_id: int,
                        content: str = None,
                        content_visible: int = None,
                        picvid_visible: int = None,
                        picture_ids_public: List[int] = None,
                        picture_ids_private: List[int] = None,
                        video_ids_public: List[int] = None,
                        video_ids_private: List[int] = None,
                        sort_order: List[int] = None):
    try:
        m_poster = PosterModel(id=poster_id)
        if content is not None:
            m_poster.content = content

        if content_visible is not None:
            m_poster.content_visible = content_visible

        if picvid_visible is not None:
            m_poster.picvid_visible = picvid_visible

        if picture_ids_public is not None:
            m_poster.picture_ids_public = ','.join(
                [str(i) for i in picture_ids_public])

        if picture_ids_private is not None:
            m_poster.picture_ids_private = ','.join(
                [str(i) for i in picture_ids_private])

        if video_ids_public is not None:
            m_poster.video_ids_public = ','.join(
                [str(i) for i in video_ids_public])

        if video_ids_private is not None:
            m_poster.video_ids_private = ','.join(
                [str(i) for i in video_ids_private])

        if sort_order is not None:
            poster.sort_order = ','.join([str(i) for i in sort_order])

        m_poster.update_ts = current_timestamp()

        db.merge(m_poster)
        db.commit()
    except Exception as e:
        db.rollback()
        print('update_poster_by_id', str(e))
        raise
コード例 #11
0
ファイル: order.py プロジェクト: SixingYan/BackendSystem
def create_order_poster_transaction(db: Session, order_no: int, user_id: int,
                                    poster_id: int, to_user_id: int) -> int:
    try:
        order_poster = OrderPosterModel(order_no=order_no,
                                        poster_id=poster_id,
                                        create_ts=current_timestamp(),
                                        seller_id=user_id,
                                        buyer_id=to_user_id)

        db.add(order_poster)
        db.commit()
    except Exception as e:
        # TODO: LOG
        db.rollback()
        print('create_order_poster_transaction', str(e))
        raise

    return order_poster
コード例 #12
0
def update_reply_by_id(db: Session,
                       reply_id: int,
                       content: str = None,
                       picture_ids_public: List = None,
                       picture_ids_private: List = None,
                       video_ids_public: List = None,
                       video_ids_private: List = None,
                       sort_order: List = None):
    try:
        m_reply = ReplyModel(id=reply_id)

        if content is not None:
            m_reply.content = content

        if picture_ids_public is not None:
            m_reply.picture_ids_public = ','.join(
                [str(i) for i in picture_ids_public])

        if picture_ids_private is not None:
            m_reply.picture_ids_private = picture_ids_private

        if video_ids_public is not None:
            m_reply.video_ids_public = ','.join(
                [str(i) for i in video_ids_public])

        if video_ids_private is not None:
            m_reply.video_ids_private = video_ids_private

        if sort_order is not None:
            m_reply.sort_order = ','.join([str(i) for i in sort_order])

        m_reply.update_ts = current_timestamp()

        db.merge(m_reply)
        db.commit()
    except Exception as e:
        db.rollback()
        print('update_reply_by_reply_id', str(e))
        raise