コード例 #1
0
    def test_soft_delete_mixin(self):
        # noinspection PyArgumentList
        instance = SoftDeleteCheckingModel(title='test title')
        DBSession.add(instance)
        DBSession.commit()
        instance.assert_is_not_deleted()
        self.assertRaises(ValueError, instance.assert_is_deleted)

        instance = SoftDeleteCheckingModel.query.one()
        instance.soft_delete()
        DBSession.commit()
        instance.assert_is_deleted()
        self.assertRaises(ValueError, instance.assert_is_not_deleted)

        self.assertEqual(SoftDeleteCheckingModel.filter_deleted().count(), 1)
        self.assertEqual(SoftDeleteCheckingModel.exclude_deleted().count(), 0)

        instance.soft_undelete()
        DBSession.commit()
        instance.assert_is_not_deleted()
        self.assertRaises(ValueError, instance.assert_is_deleted)

        self.assertEqual(SoftDeleteCheckingModel.filter_deleted().count(), 0)
        self.assertEqual(SoftDeleteCheckingModel.exclude_deleted().count(), 1)

        DBSession.delete(instance)
        self.assertRaises(HttpConflict, DBSession.commit)
コード例 #2
0
ファイル: member.py プロジェクト: mhdnazari/inception
    def unregister(self, id):
        id = int_or_notfound(id)
        member = DBSession.query(Member).get(id)
        if member is None:
            raise HTTPNotFound()

        DBSession.delete(member)
        return member
コード例 #3
0
    def delete(self, id):

        foo = DBSession.query(Foo) \
            .filter(Foo.id == id) \
            .one_or_none()

        if foo is None:
            raise HTTPNotFound(f'Foo with id: {id} is not registered')

        DBSession.delete(foo)
        return foo
コード例 #4
0
    def delete(self, listtitle, itemtitle):
        me = context.identity.id
        item = DBSession.query(Item) \
            .filter(Item.ownerid == me) \
            .filter(Item.list == listtitle) \
            .filter(Item.title == itemtitle) \
            .one_or_none()

        if item is None:
            raise HTTPNotFound()

        DBSession.delete(item)
        return ''.join((str(item), CR))
コード例 #5
0
ファイル: cli.py プロジェクト: pylover/hive
    def __call__(self, args):
        user = DBSession.query(User).filter(User.id == args.name).one_or_none()
        if user is None:
            print(f'Invalid username: {args.name}', file=sys.stderr)
            return 1

        if input(
            f'Are you sure to delete the user: {user.id}? [N/y] '
        ).casefold() != 'y'.casefold():
            print(f'User: {args.name} is not deleted', file=sys.stderr)
            return 1

        DBSession.delete(user)
        DBSession.commit()
コード例 #6
0
 def delete(self, id_: int = None):
     m = DBSession.query(Resource).filter(Resource.id == id_).one_or_none()
     if m is None:
         raise HTTPNotFound()
     DBSession.delete(m)
     return m
コード例 #7
0
 def delete(self, id: int):
     instance = self._ensure(id)
     DBSession.delete(instance)
     return instance
コード例 #8
0
 def delete(self, id_: int = None):
     m = Resource.query.filter(Resource.id == id_).one_or_none()
     context.etag_match(m.__etag__)
     DBSession.delete(m)
     return m
コード例 #9
0
 def delete(self, issue_id: int):
     issue = self.ensure_issue(issue_id)
     DBSession.delete(issue)
     return issue