no need to redefine PY3 - six already has it

This commit is contained in:
Stefan Wojcik 2016-12-08 12:53:01 -05:00
parent 18a91cc794
commit fa6949eca2
6 changed files with 13 additions and 17 deletions

View File

@ -19,7 +19,6 @@ from mongoengine.base.fields import ComplexBaseField
from mongoengine.common import _import_class
from mongoengine.errors import (FieldDoesNotExist, InvalidDocumentError,
LookUpError, OperationError, ValidationError)
from mongoengine.python_support import PY3
__all__ = ('BaseDocument',)
@ -256,7 +255,7 @@ class BaseDocument(object):
def __str__(self):
# TODO this could be simpler?
if hasattr(self, '__unicode__'):
if PY3:
if six.PY3:
return self.__unicode__()
else:
return six.text_type(self).encode('utf-8')

View File

@ -1,10 +1,11 @@
import warnings
import six
from mongoengine.base.common import _document_registry
from mongoengine.base.fields import BaseField, ComplexBaseField, ObjectIdField
from mongoengine.common import _import_class
from mongoengine.errors import InvalidDocumentError
from mongoengine.python_support import PY3
from mongoengine.queryset import (DO_NOTHING, DoesNotExist,
MultipleObjectsReturned,
QuerySetManager)
@ -159,7 +160,7 @@ class DocumentMetaclass(type):
# module continues to use im_func and im_self, so the code below
# copies __func__ into im_func and __self__ into im_self for
# classmethod objects in Document derived classes.
if PY3:
if six.PY3:
for val in new_class.__dict__.values():
if isinstance(val, classmethod):
f = val.__get__(new_class)

View File

@ -30,7 +30,7 @@ from mongoengine.base import (BaseDocument, BaseField, ComplexBaseField,
from mongoengine.connection import DEFAULT_CONNECTION_NAME, get_db
from mongoengine.document import Document, EmbeddedDocument
from mongoengine.errors import DoesNotExist, ValidationError
from mongoengine.python_support import PY3, StringIO
from mongoengine.python_support import StringIO
from mongoengine.queryset import DO_NOTHING, QuerySet
try:
@ -1307,7 +1307,7 @@ class BinaryField(BaseField):
def __set__(self, instance, value):
"""Handle bytearrays in python 3.1"""
if PY3 and isinstance(value, bytearray):
if six.PY3 and isinstance(value, bytearray):
value = six.binary_type(value)
return super(BinaryField, self).__set__(instance, value)
@ -1722,7 +1722,7 @@ class ImageField(FileField):
for att_name, att in extra_args.items():
value = None
if isinstance(att, (tuple, list)):
if PY3:
if six.PY3:
value = dict(itertools.zip_longest(params_size, att,
fillvalue=None))
else:

View File

@ -13,14 +13,11 @@ else:
IS_PYMONGO_3 = True
PY3 = sys.version_info[0] == 3
# six.BytesIO resolves to StringIO.StringIO in Py2 and io.BytesIO in Py3.
StringIO = six.BytesIO
# Additionally for Py2, try to use the faster cStringIO, if available
if not PY3:
if not six.PY3:
try:
import cStringIO
except ImportError:

View File

@ -28,7 +28,6 @@ from mongoengine.connection import get_db
from mongoengine.base import (BaseDict, BaseField, EmbeddedDocumentList,
_document_registry)
from mongoengine.errors import NotRegistered, DoesNotExist
from mongoengine.python_support import PY3
__all__ = ("FieldTest", "EmbeddedDocumentListFieldTestCase")
@ -653,7 +652,7 @@ class FieldTest(unittest.TestCase):
self.assertNotEqual(log.date, d1)
self.assertEqual(log.date, d2)
if not PY3:
if not six.PY3:
# Pre UTC dates microseconds below 1000 are dropped
# This does not seem to be true in PY3
d1 = datetime.datetime(1969, 12, 31, 23, 59, 59, 999)

View File

@ -9,13 +9,13 @@ from nose.plugins.skip import SkipTest
import pymongo
from pymongo.errors import ConfigurationError
from pymongo.read_preferences import ReadPreference
import six
from mongoengine import *
from mongoengine.connection import get_connection, get_db
from mongoengine.context_managers import query_counter, switch_db
from mongoengine.errors import InvalidQueryError
from mongoengine.python_support import IS_PYMONGO_3, PY3
from mongoengine.python_support import IS_PYMONGO_3
from mongoengine.queryset import (DoesNotExist, MultipleObjectsReturned,
QuerySet, QuerySetManager, queryset_manager)
@ -4089,7 +4089,7 @@ class QuerySetTest(unittest.TestCase):
"A0", "%s" % self.Person.objects.order_by('name').scalar('name').first())
self.assertEqual(
"A0", "%s" % self.Person.objects.scalar('name').order_by('name')[0])
if PY3:
if six.PY3:
self.assertEqual("['A1', 'A2']", "%s" % self.Person.objects.order_by(
'age').scalar('name')[1:3])
self.assertEqual("['A51', 'A52']", "%s" % self.Person.objects.order_by(
@ -4107,7 +4107,7 @@ class QuerySetTest(unittest.TestCase):
pks = self.Person.objects.order_by('age').scalar('pk')[1:3]
names = self.Person.objects.scalar('name').in_bulk(list(pks)).values()
if PY3:
if six.PY3:
expected = "['A1', 'A2']"
else:
expected = "[u'A1', u'A2']"