From 95efa39b5229081deef179ae4b08299a50b18ccb Mon Sep 17 00:00:00 2001 From: Florian Schlachter Date: Mon, 30 Aug 2010 14:56:18 +0200 Subject: [PATCH 1/3] Added *.egg to .gitignore. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 57cf1b7b..51a9ca1d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.pyc .*.swp +*.egg docs/.build docs/_build build/ From e0911a5fe00d77bb74b0b8b2d8e5d6d963afc687 Mon Sep 17 00:00:00 2001 From: Florian Schlachter Date: Mon, 30 Aug 2010 14:58:58 +0200 Subject: [PATCH 2/3] Replaced slow exception handling with has_key. --- mongoengine/base.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/mongoengine/base.py b/mongoengine/base.py index 4523a268..e0e71d31 100644 --- a/mongoengine/base.py +++ b/mongoengine/base.py @@ -415,11 +415,8 @@ class BaseDocument(object): self._meta.get('allow_inheritance', True) == False): data['_cls'] = self._class_name data['_types'] = self._superclasses.keys() + [self._class_name] - try: - if not data['_id']: - del data['_id'] - except KeyError: - pass + if data.has_key('_id') and not data['_id']: + del data['_id'] return data @classmethod From 185e7a6a7e27884ac4896bf5c6a6881db8d419a0 Mon Sep 17 00:00:00 2001 From: Florian Schlachter Date: Mon, 30 Aug 2010 18:38:41 +0200 Subject: [PATCH 3/3] Better way of checking if new_class has an 'objects' attribute. --- mongoengine/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mongoengine/base.py b/mongoengine/base.py index 3172e9a3..9505d416 100644 --- a/mongoengine/base.py +++ b/mongoengine/base.py @@ -257,7 +257,7 @@ class TopLevelDocumentMetaclass(DocumentMetaclass): new_class = super_new(cls, name, bases, attrs) # Provide a default queryset unless one has been manually provided - if not 'objects' in dir(new_class): + if not hasattr(new_class, 'objects'): new_class.objects = QuerySetManager() user_indexes = [QuerySet._build_index_spec(new_class, spec)