OpenQuizz
Une application de gestion des contenus pédagogiques
pymongo.uri_parser Namespace Reference

Functions

def parse_userinfo (userinfo)
 
def parse_ipv6_literal_host (entity, default_port)
 
def parse_host (entity, default_port=DEFAULT_PORT)
 
def validate_options (opts, warn=False)
 
def split_options (opts, validate=True, warn=False, normalize=True)
 
def split_hosts (hosts, default_port=DEFAULT_PORT)
 
def parse_uri (uri, default_port=DEFAULT_PORT, validate=True, warn=False, normalize=True, connect_timeout=None)
 

Variables

 SCHEME
 
 SCHEME_LEN
 
 SRV_SCHEME
 
 SRV_SCHEME_LEN
 
 DEFAULT_PORT
 

Function Documentation

◆ parse_host()

def pymongo.uri_parser.parse_host (   entity,
  default_port = DEFAULT_PORT 
)
Validates a host string

Returns a 2-tuple of host followed by port where port is default_port
if it wasn't specified in the string.

:Parameters:
    - `entity`: A host or host:port string where host could be a
                hostname or IP address.
    - `default_port`: The port number to use when one wasn't
                      specified in entity.

◆ parse_ipv6_literal_host()

def pymongo.uri_parser.parse_ipv6_literal_host (   entity,
  default_port 
)
Validates an IPv6 literal host:port string.

Returns a 2-tuple of IPv6 literal followed by port where
port is default_port if it wasn't specified in entity.

:Parameters:
    - `entity`: A string that represents an IPv6 literal enclosed
                in braces (e.g. '[::1]' or '[::1]:27017').
    - `default_port`: The port number to use when one wasn't
                      specified in entity.

◆ parse_uri()

def pymongo.uri_parser.parse_uri (   uri,
  default_port = DEFAULT_PORT,
  validate = True,
  warn = False,
  normalize = True,
  connect_timeout = None 
)
Parse and validate a MongoDB URI.

Returns a dict of the form::

    {
        'nodelist': <list of (host, port) tuples>,
        'username': <username> or None,
        'password': <password> or None,
        'database': <database name> or None,
        'collection': <collection name> or None,
        'options': <dict of MongoDB URI options>,
        'fqdn': <fqdn of the MongoDB+SRV URI> or None
    }

If the URI scheme is "mongodb+srv://" DNS SRV and TXT lookups will be done
to build nodelist and options.

:Parameters:
    - `uri`: The MongoDB URI to parse.
    - `default_port`: The port number to use when one wasn't specified
      for a host in the URI.
    - `validate` (optional): If ``True`` (the default), validate and
      normalize all options. Default: ``True``.
    - `warn` (optional): When validating, if ``True`` then will warn
      the user then ignore any invalid options or values. If ``False``,
      validation will error when options are unsupported or values are
      invalid. Default: ``False``.
    - `normalize` (optional): If ``True``, convert names of URI options
      to their internally-used names. Default: ``True``.
    - `connect_timeout` (optional): The maximum time in milliseconds to
      wait for a response from the DNS server.

.. versionchanged:: 3.9
    Added the ``normalize`` parameter.

.. versionchanged:: 3.6
    Added support for mongodb+srv:// URIs.

.. versionchanged:: 3.5
    Return the original value of the ``readPreference`` MongoDB URI option
    instead of the validated read preference mode.

.. versionchanged:: 3.1
    ``warn`` added so invalid options can be ignored.

◆ parse_userinfo()

def pymongo.uri_parser.parse_userinfo (   userinfo)
Validates the format of user information in a MongoDB URI.
Reserved characters like ':', '/', '+' and '@' must be escaped
following RFC 3986.

Returns a 2-tuple containing the unescaped username followed
by the unescaped password.

:Paramaters:
    - `userinfo`: A string of the form <username>:<password>

.. versionchanged:: 2.2
   Now uses `urllib.unquote_plus` so `+` characters must be escaped.

◆ split_hosts()

def pymongo.uri_parser.split_hosts (   hosts,
  default_port = DEFAULT_PORT 
)
Takes a string of the form host1[:port],host2[:port]... and
splits it into (host, port) tuples. If [:port] isn't present the
default_port is used.

Returns a set of 2-tuples containing the host name (or IP) followed by
port number.

:Parameters:
    - `hosts`: A string of the form host1[:port],host2[:port],...
    - `default_port`: The port number to use when one wasn't specified
      for a host.

◆ split_options()

def pymongo.uri_parser.split_options (   opts,
  validate = True,
  warn = False,
  normalize = True 
)
Takes the options portion of a MongoDB URI, validates each option
and returns the options in a dictionary.

:Parameters:
    - `opt`: A string representing MongoDB URI options.
    - `validate`: If ``True`` (the default), validate and normalize all
      options.
    - `warn`: If ``False`` (the default), suppress all warnings raised
      during validation of options.
    - `normalize`: If ``True`` (the default), renames all options to their
      internally-used names.

◆ validate_options()

def pymongo.uri_parser.validate_options (   opts,
  warn = False 
)
Validates and normalizes options passed in a MongoDB URI.

Returns a new dictionary of validated and normalized options. If warn is
False then errors will be thrown for invalid options, otherwise they will
be ignored and a warning will be issued.

:Parameters:
    - `opts`: A dict of MongoDB URI options.
    - `warn` (optional): If ``True`` then warnings will be logged and
      invalid options will be ignored. Otherwise invalid options will
      cause errors.

Variable Documentation

◆ DEFAULT_PORT

DEFAULT_PORT

◆ SCHEME

SCHEME

◆ SCHEME_LEN

SCHEME_LEN

◆ SRV_SCHEME

SRV_SCHEME

◆ SRV_SCHEME_LEN

SRV_SCHEME_LEN