Skip to content

Commit ed3b619

Browse files
committed
Fixed #75 -- Removed deprecated database options.
1 parent c2ea2be commit ed3b619

File tree

2 files changed

+8
-34
lines changed

2 files changed

+8
-34
lines changed

django_mongodb_engine/base.py

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import copy
2+
import sys
23
from django.core.exceptions import ImproperlyConfigured
34
from django.db.backends.signals import connection_created
45
from django.conf import settings
@@ -117,44 +118,31 @@ def pop(name, default=None):
117118
password = pop('PASSWORD')
118119
options = pop('OPTIONS', {})
119120

120-
if port:
121-
try:
122-
port = int(port)
123-
except ValueError:
124-
raise ImproperlyConfigured("If set, PORT must be an integer "
125-
"(got %r instead)" % port)
126-
127121
self.operation_flags = options.pop('OPERATIONS', {})
128122
if not any(k in ['save', 'delete', 'update'] for k in self.operation_flags):
129123
# flags apply to all operations
130124
flags = self.operation_flags
131125
self.operation_flags = {'save' : flags, 'delete' : flags, 'update' : flags}
132126

133-
# Compatibility to version < 0.4
134-
if 'SAFE_INSERTS' in settings:
135-
_warn_deprecated('SAFE_INSERTS')
136-
self.operation_flags['save']['safe'] = settings['SAFE_INSERTS']
137-
if 'WAIT_FOR_SLAVES' in settings:
138-
_warn_deprecated('WAIT_FOR_SLAVES')
139-
self.operation_flags['save']['w'] = settings['WAIT_FOR_SLAVES']
140-
141-
# lower-case all remaining OPTIONS
127+
# lower-case all OPTIONS keys
142128
for key in options.iterkeys():
143129
options[key.lower()] = options.pop(key)
144130

145131
try:
146132
self.connection = Connection(host=host, port=port, **options)
147133
self.database = self.connection[db_name]
148134
except TypeError:
149-
import sys
150135
exc_info = sys.exc_info()
151136
raise ImproperlyConfigured, exc_info[1], exc_info[2]
152137

153138
if user and password:
154139
if not self.database.authenticate(user, password):
155140
raise ImproperlyConfigured("Invalid username or password")
156141

157-
self._add_serializer()
142+
if settings.get('MONGODB_AUTOMATIC_REFERENCING'):
143+
from .serializer import TransformDjango
144+
self.database.add_son_manipulator(TransformDjango())
145+
158146
self.connected = True
159147
connection_created.send(sender=self.__class__, connection=self)
160148

@@ -165,14 +153,6 @@ def _reconnect(self):
165153
self.connected = False
166154
self._connect()
167155

168-
def _add_serializer(self):
169-
for option in ['MONGODB_AUTOMATIC_REFERENCING',
170-
'MONGODB_ENGINE_ENABLE_MODEL_SERIALIZATION']:
171-
if getattr(settings, option, False):
172-
from .serializer import TransformDjango
173-
self.database.add_son_manipulator(TransformDjango())
174-
return
175-
176156
def _commit(self):
177157
pass
178158

tests/mongodb/tests.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ def test_lazy_model_instance_in_list(self):
4949
obj.raw.append(related)
5050
self.assertRaises(InvalidDocument, obj.save)
5151

52-
settings.MONGODB_AUTOMATIC_REFERENCING = True
53-
connections._connections.values()[0]._add_serializer()
52+
connection.settings_dict['MONGODB_AUTOMATIC_REFERENCING'] = True
53+
connection._reconnect()
5454
obj.save()
5555
self.assertNotEqual(related.id, None)
5656
obj = RawModel.objects.get(id=obj.id)
@@ -262,12 +262,6 @@ def test_setup(flags, **method_kwargs):
262262
remove={'fsync' : True}
263263
)
264264

265-
def test_legacy_flags(self):
266-
options = {'SAFE_INSERTS' : True, 'WAIT_FOR_SLAVES' : 5}
267-
with self.custom_database_wrapper(options) as wrapper:
268-
self.assertTrue(wrapper.operation_flags['save']['safe'])
269-
self.assertEqual(wrapper.operation_flags['save']['w'], 5)
270-
271265
def test_unique(self):
272266
with self.custom_database_wrapper({'OPTIONS': {}}):
273267
Post.objects.create(title='a', content='x')

0 commit comments

Comments
 (0)