File: __init__.py

package info (click to toggle)
python-mongomock 4.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,028 kB
  • sloc: python: 16,412; makefile: 24
file content (109 lines) | stat: -rw-r--r-- 2,613 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import os

try:
    from pymongo.errors import PyMongoError
except ImportError:
    class PyMongoError(Exception):
        pass
try:
    from pymongo.errors import OperationFailure
except ImportError:
    class OperationFailure(PyMongoError):

        def __init__(self, message, code=None, details=None):
            super().__init__()
            self._message = message
            self._code = code
            self._details = details

        code = property(lambda self: self._code)
        details = property(lambda self: self._details)

        def __str__(self):
            return self._message

try:
    from pymongo.errors import WriteError
except ImportError:
    class WriteError(OperationFailure):
        pass


try:
    from pymongo.errors import DuplicateKeyError
except ImportError:
    class DuplicateKeyError(WriteError):
        pass

try:
    from pymongo.errors import BulkWriteError
except ImportError:
    class BulkWriteError(OperationFailure):

        def __init__(self, results):
            super().__init__(
                'batch op errors occurred', 65, results)


try:
    from pymongo.errors import CollectionInvalid
except ImportError:
    class CollectionInvalid(PyMongoError):
        pass

try:
    from pymongo.errors import InvalidName
except ImportError:
    class InvalidName(PyMongoError):
        pass

try:
    from pymongo.errors import InvalidOperation
except ImportError:
    class InvalidOperation(PyMongoError):
        pass

try:
    from pymongo.errors import ConfigurationError
except ImportError:
    class ConfigurationError(PyMongoError):
        pass

try:
    from pymongo.errors import InvalidURI
except ImportError:
    class InvalidURI(ConfigurationError):
        pass

from .helpers import ObjectId, utcnow  # noqa
from mongomock.__version__ import __version__


__all__ = [
    '__version__',
    'Database',
    'DuplicateKeyError',
    'Collection',
    'CollectionInvalid',
    'InvalidName',
    'MongoClient',
    'ObjectId',
    'OperationFailure',
    'WriteConcern',
    'ignore_feature',
    'patch',
    'warn_on_feature',
    'SERVER_VERSION',
]

from .collection import Collection
from .database import Database
from .mongo_client import MongoClient
from .patch import patch
from .write_concern import WriteConcern
from .not_implemented import ignore_feature, warn_on_feature

# The version of the server faked by mongomock. Callers may patch it before creating connections to
# update the behavior of mongomock.
# Keep the default version in sync with docker-compose.yml and travis.yml.
SERVER_VERSION = os.getenv('MONGODB', '5.0.5')