utils.py 文件源码

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

项目:muzi-scanner 作者: sdslabs 项目源码 文件源码
def get_or_create(self, session, model, **kwargs):
        try:
            query = session.query(model).filter_by(**kwargs)

            instance = query.first()

            if instance:
                return instance, False
            else:
                try:
                    params = dict((k, v) for k, v in kwargs.iteritems() if not isinstance(v, ClauseElement))

                    instance = model(**params)
                    session.add(instance)
                    session.commit()
            session.refresh(instance)

                    return instance, True
                except IntegrityError as e:
                    # We have failed to add track, rollback current session and continue
                    session.rollback()
                    print "[-]Failed to add, continuing"

        except Exception as e:
            raise e
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号