コード例 #1
0
ファイル: queryset.py プロジェクト: wmedlar/motorengine
        def handle(*arguments, **kw):
            if len(arguments) > 1 and arguments[1]:
                if isinstance(arguments[1], (DuplicateKeyError, )):
                    raise UniqueKeyViolationError.from_pymongo(str(arguments[1]), self.__klass__)
                else:
                    raise arguments[1]

            callback(document)
コード例 #2
0
ファイル: queryset.py プロジェクト: ypopivniak/motorengine
    async def save_document(self, document, alias=None):
        doc = document.to_son()

        if document._id is not None:
            try:
                await self.coll(alias).update({'_id': document._id}, doc)
            except DuplicateKeyError as e:
                raise UniqueKeyViolationError.from_pymongo(
                    str(e), self.__klass__)
        else:
            try:
                doc_id = await self.coll(alias).insert(doc)
            except DuplicateKeyError as e:
                raise UniqueKeyViolationError.from_pymongo(
                    str(e), self.__klass__)
            document._id = doc_id
        return document
コード例 #3
0
        def handle(*arguments, **kw):
            if len(arguments) > 1 and arguments[1]:
                if isinstance(arguments[1], (DuplicateKeyError, )):
                    raise UniqueKeyViolationError.from_pymongo(str(arguments[1]), self.__klass__)
                else:
                    raise arguments[1]

            document._id = arguments[0]
            callback(document)