Commit Graph

36 Commits

Author SHA1 Message Date
Prashant Mital
4cdd3450ac
PYTHON-1670: Implement Unified URI Options (#386) 2019-01-17 10:02:37 -08:00
Prashant Mital
b1fc024143
PYTHON-1683 Remove _partition and _rpartition from uri_parser module (#383) 2018-11-14 10:52:31 -08:00
Bernie Hackett
7d278b2feb PYTHON-1534 - Catch NXDOMAIN for TXT lookups 2018-06-04 13:57:36 -07:00
kalvdans
d08c2587f5 Use formatting operator to format error message (#348) 2018-02-12 08:23:22 -08:00
Bernie Hackett
507f954ed4 Update copyright dates 2017-12-01 17:23:39 -08:00
Bernie Hackett
e42897e79e PYTHON-1418 - More spec updates 2017-11-29 10:52:05 -08:00
Bernie Hackett
a689aa63ca PYTHON-1418 - Update initial DNS seedlist implementation for spec changes 2017-11-17 15:35:21 -08:00
Bernie Hackett
ffdcfd5809 PYTHON-1378 - Various fixes
- Don't use _escapify
- Always return str in python 3
- Further exception handling improvements
2017-10-24 13:21:42 -07:00
Bernie Hackett
5705b10d57 PYTHON-1378 - Fix DNS seedlist discovery with Eventlet
This change also adds Python 3 support for dnspython versions
back to 1.13.0, the first version to support Python 3.
2017-10-20 14:59:19 -07:00
Bernie Hackett
732b0f15df PYTHON-1378 - Implement DNS seedlist discovery 2017-10-19 13:53:02 -07:00
Shane Harvey
b7893b7ec4 3.5 changelog and documentation fixes. 2017-08-08 09:32:09 -07:00
A. Jesse Jiryu Davis
7c41ef566c PYTHON-1282 Update docs and errors for new URI Spec 2017-06-16 22:48:22 -04:00
A. Jesse Jiryu Davis
c72ee15b52 PYTHON-1282 Username/password must be URI-escaped
Not just "%", "@", and ":" must be escaped, all delimiters from RFC 3986
must be percent-encoded. Therefore, since "/" must be escaped in
username and password, we can split the URI at the first "/" instead of
the last.
2017-06-16 18:33:32 -04:00
Bernie Hackett
241a898813 PYTHON-1059 - Make kwarg only options unknown to the URI parser 2016-03-09 12:14:18 -08:00
aherlihy
193915e636 PYTHON-959 - Connection string spec compliance. 2015-08-06 13:14:31 -04:00
Bernie Hackett
aec685b374 Fix up copyright dates. 2015-03-25 11:55:02 -07:00
Bernie Hackett
8f0bd0a6d4 PYTHON-850 - Change some uses of ConfigurationError to Type/ValueError. 2015-02-26 16:02:25 -08:00
A. Jesse Jiryu Davis
1447ad1257 Remove pymongo.errors.UnsupportedOption. 2014-10-31 16:42:11 -04:00
A. Jesse Jiryu Davis
8b8123932f Use lower() to canonicalize hostnames.
Normalize hostname to lowercase, since DNS is case-insensitive:

http://tools.ietf.org/html/rfc4343

This prevents useless rediscovery if "foo.com" is in the seed list but
"FOO.com" is in the ismaster response.
2014-09-22 16:36:20 -04:00
Bernie Hackett
d408d1101d PYTHON-730 - Add a validate option to uri_parser 2014-07-11 15:23:25 -07:00
Luke Lovett
d494105aa4 PYTHON-674 python 2/3 single-source for the pymongo module 2014-04-23 18:26:18 +00:00
A. Jesse Jiryu Davis
2fa1750b07 Update copyright notices and company name. 2014-01-31 09:36:46 -05:00
hawka
74546ec88d Adding Support for readPreferenceTags and uuidRepresentation in URI parsing. PYTHON-473 2013-08-30 15:38:34 -04:00
A. Jesse Jiryu Davis
78bcc97846 Handle unicode connection URIs in Python 2.4
Unicode MongoDB connection URIs, if they have options like "/?fsync=true", raised a TypeError in old Pythons.
2013-05-01 15:27:45 -04:00
behackett
18d20ed181 Support GSSAPI (Kerberos) authentication PYTHON-465
This only works with the subscriber addition of MongoDB
>= 2.4 and requires the python "kerberos" module, sometimes
referred to as pykerberos.

http://pypi.python.org/pypi/kerberos

This change also adds support for the authMechanism
and authSource URI options.
2013-02-08 16:04:53 -08:00
Ross Lawley
86469cb021 Small cleanup for PYTHON-297 2012-10-24 07:40:00 +00:00
Ross Lawley
7577a19703 Add support for unix domain sockets PYTHON-297 2012-10-23 23:45:27 +00:00
Bernie Hackett
41050fc269 Minor doc updates for 2.2 2012-04-20 17:32:15 -07:00
behackett
0ee7170cc2 It's 2012... 2012-04-19 12:40:38 -07:00
Bernie Hackett
0f81ce1bbd Python 3 pymongo package changes PYTHON-84 2012-03-23 07:52:27 -07:00
Ross Lawley
afcd0f6900 PYTHON-319 Use urllib.unquote_plus
Makes userinfo parser handle `+` signs as spaces.
If `+` signs were used then they will now need to
be escaped.
2012-02-08 15:39:39 -08:00
Bernie Hackett
b9d732a556 Support (connect|socket)TimeoutMS, PYTHON-269
This change also includes some validation clean-ups
and fixes some problems in the Pool class.
2011-10-02 03:07:59 -07:00
behackett
bff465ab08 Docs for pymongo.uri_parser. 2011-08-05 14:34:10 -07:00
behackett
b347872c58 Raise ConfigurationError to match parse_host. 2011-05-27 11:30:13 -07:00
behackett
7212fb6006 slaveok and safe enhancement PYTHON-181 PYTHON-246
This change adds a new module common.py with some
common functions and classes used in a number of
pymongo modules.

The most important of these is the BaseObject class.
This provides a new base class that Connection, Database,
and Collection inherit from. The class provides attributes
common to each of these subclasses including slave_okay,
safe and getlasterror options.

With this change you can now set slaveok, safe, w, wtimeout,
fsync and j at the Connection, Database, Collection or per-
operation level. Each level inherits from and can override
the previous.

All of these options are now supported as keyword parameters
to connection.Connection and in the mongodb URI.
2011-05-19 14:15:58 -07:00
behackett
80d3d3856d Add a new uri_parser module PYTHON-243
This change moves the URI parsing code out
of pymongo.connection and into a new module,
pymongo.uri_parser. It also adds validation
for all MongoDB URI options currently supported
by pymongo as well as some that will be supported
in pymongo-2.0. an UnsupportedOption error
(inheriting from ConfigurationError) is raised
if the URI includes an option pymongo doesn't
support or recognize.

The primary entry point for uri_parser is
uri_parser.parse_uri which returns a dict of the
results from parsing the URI. See the documentation
for more details
2011-05-09 15:32:34 -07:00