Example #1
0
    def __init__(self,
                 connection,
                 name,
                 codec_options=None,
                 read_preference=None,
                 write_concern=None):
        """Get a database by connection and name.

        Raises :class:`TypeError` if `name` is not an instance of
        :class:`basestring` (:class:`str` in python 3). Raises
        :class:`~pymongo.errors.InvalidName` if `name` is not a valid
        database name.

        :Parameters:
          - `connection`: a client instance
          - `name`: database name
          - `codec_options` (optional): An instance of
            :class:`~bson.codec_options.CodecOptions`. If ``None`` (the
            default) connection.codec_options is used.
          - `read_preference` (optional): The read preference to use. If
            ``None`` (the default) connection.read_preference is used.
          - `write_concern` (optional): An instance of
            :class:`~pymongo.write_concern.WriteConcern`. If ``None`` (the
            default) connection.write_concern is used.

        .. mongodoc:: databases

        .. versionchanged:: 2.9
           Added the codec_options, read_preference, and write_concern options.
        """
        opts, mode, tags, wc_doc = helpers._get_common_options(
            connection, codec_options, read_preference, write_concern)
        salms = connection.secondary_acceptable_latency_ms

        super(Database, self).__init__(codec_options=opts,
                                       read_preference=mode,
                                       tag_sets=tags,
                                       secondary_acceptable_latency_ms=salms,
                                       slave_okay=connection.slave_okay,
                                       safe=connection.safe,
                                       **wc_doc)

        if not isinstance(name, basestring):
            raise TypeError("name must be an instance "
                            "of %s" % (basestring.__name__, ))

        if name != '$external':
            helpers._check_database_name(name)

        self.__name = unicode(name)
        self.__connection = connection

        self.__incoming_manipulators = []
        self.__incoming_copying_manipulators = []
        self.__outgoing_manipulators = []
        self.__outgoing_copying_manipulators = []
Example #2
0
    def __init__(self, connection, name, codec_options=None,
                 read_preference=None, write_concern=None):
        """Get a database by connection and name.

        Raises :class:`TypeError` if `name` is not an instance of
        :class:`basestring` (:class:`str` in python 3). Raises
        :class:`~pymongo.errors.InvalidName` if `name` is not a valid
        database name.

        :Parameters:
          - `connection`: a client instance
          - `name`: database name
          - `codec_options` (optional): An instance of
            :class:`~bson.codec_options.CodecOptions`. If ``None`` (the
            default) connection.codec_options is used.
          - `read_preference` (optional): The read preference to use. If
            ``None`` (the default) connection.read_preference is used.
          - `write_concern` (optional): An instance of
            :class:`~pymongo.write_concern.WriteConcern`. If ``None`` (the
            default) connection.write_concern is used.

        .. mongodoc:: databases

        .. versionchanged:: 2.9
           Added the codec_options, read_preference, and write_concern options.
        """
        opts, mode, tags, wc_doc = helpers._get_common_options(
            connection, codec_options, read_preference, write_concern)
        salms = connection.secondary_acceptable_latency_ms

        super(Database, self).__init__(
            codec_options=opts,
            read_preference=mode,
            tag_sets=tags,
            secondary_acceptable_latency_ms=salms,
            slave_okay=connection.slave_okay,
            safe=connection.safe,
            **wc_doc)

        if not isinstance(name, basestring):
            raise TypeError("name must be an instance "
                            "of %s" % (basestring.__name__,))

        if name != '$external':
            helpers._check_database_name(name)

        self.__name = unicode(name)
        self.__connection = connection

        self.__incoming_manipulators = []
        self.__incoming_copying_manipulators = []
        self.__outgoing_manipulators = []
        self.__outgoing_copying_manipulators = []
Example #3
0
    def __init__(self, connection, name):
        """Get a database by connection and name.

        Raises :class:`TypeError` if `name` is not an instance of
        :class:`basestring` (:class:`str` in python 3). Raises
        :class:`~pymongo.errors.InvalidName` if `name` is not a valid
        database name.

        :Parameters:
          - `connection`: a client instance
          - `name`: database name

        .. mongodoc:: databases
        """
        super(Database,
              self).__init__(slave_okay=connection.slave_okay,
                             read_preference=connection.read_preference,
                             tag_sets=connection.tag_sets,
                             secondary_acceptable_latency_ms=(
                                 connection.secondary_acceptable_latency_ms),
                             safe=connection.safe,
                             uuidrepresentation=connection.uuid_subtype,
                             **connection.write_concern)

        if not isinstance(name, basestring):
            raise TypeError("name must be an instance "
                            "of %s" % (basestring.__name__,))

        if name != '$external':
            helpers._check_database_name(name)

        self.__name = unicode(name)
        self.__connection = connection

        self.__incoming_manipulators = []
        self.__incoming_copying_manipulators = []
        self.__outgoing_manipulators = []
        self.__outgoing_copying_manipulators = []
Example #4
0
    def __init__(self, connection, name):
        """Get a database by connection and name.

        Raises :class:`TypeError` if `name` is not an instance of
        :class:`basestring` (:class:`str` in python 3). Raises
        :class:`~pymongo.errors.InvalidName` if `name` is not a valid
        database name.

        :Parameters:
          - `connection`: a client instance
          - `name`: database name

        .. mongodoc:: databases
        """
        super(Database,
              self).__init__(slave_okay=connection.slave_okay,
                             read_preference=connection.read_preference,
                             tag_sets=connection.tag_sets,
                             secondary_acceptable_latency_ms=(
                                 connection.secondary_acceptable_latency_ms),
                             safe=connection.safe,
                             uuidrepresentation=connection.uuid_subtype,
                             **connection.write_concern)

        if not isinstance(name, str):
            raise TypeError("name must be an instance "
                            "of %s" % (str.__name__, ))

        if name != '$external':
            helpers._check_database_name(name)

        self.__name = str(name)
        self.__connection = connection

        self.__incoming_manipulators = []
        self.__incoming_copying_manipulators = []
        self.__outgoing_manipulators = []
        self.__outgoing_copying_manipulators = []
Example #5
0
 def __init__(self, connection, name):
     _check_database_name(name)
     self.__name = toUnicode(name)
     self.__connection = connection
     self.cols = {}