From fdbded0ec83c8e20f3c9c9d78208553d1584bc32 Mon Sep 17 00:00:00 2001 From: Mike Dirolf Date: Wed, 27 Jan 2010 15:03:31 -0500 Subject: [PATCH] removing things that were there for Python 2.3 and start taking advantage of 2.4 - clean up imports --- gridfs/__init__.py | 2 +- gridfs/grid_file.py | 12 ++++++------ pymongo/bson.py | 8 +++++--- pymongo/collection.py | 14 +++++++------- pymongo/connection.py | 25 ++++++++++++++----------- pymongo/cursor.py | 11 ++++++----- pymongo/database.py | 23 +++++++++++++---------- pymongo/dbref.py | 2 +- pymongo/helpers.py | 20 +++++--------------- pymongo/json_util.py | 6 +++--- pymongo/master_slave_connection.py | 4 ++-- pymongo/message.py | 9 ++++----- pymongo/objectid.py | 14 +++++++------- pymongo/son_manipulator.py | 6 +++--- 14 files changed, 77 insertions(+), 79 deletions(-) diff --git a/gridfs/__init__.py b/gridfs/__init__.py index f2f14ee39..548c299be 100644 --- a/gridfs/__init__.py +++ b/gridfs/__init__.py @@ -18,7 +18,7 @@ The :mod:`gridfs` package is an implementation of GridFS on top of :mod:`pymongo`, exposing a file-like interface. """ -from grid_file import GridFile +from gridfs.grid_file import GridFile from pymongo.database import Database class GridFS(object): diff --git a/gridfs/grid_file.py b/gridfs/grid_file.py index 9f3a349e7..bba687796 100644 --- a/gridfs/grid_file.py +++ b/gridfs/grid_file.py @@ -17,19 +17,19 @@ import datetime import math import os -from threading import Condition try: from cStringIO import StringIO except: from StringIO import StringIO +from threading import Condition -from pymongo.son import SON -from pymongo.database import Database -from pymongo.objectid import ObjectId -from pymongo.dbref import DBRef -from pymongo.binary import Binary from gridfs.errors import CorruptGridFile from pymongo import ASCENDING +from pymongo.binary import Binary +from pymongo.database import Database +from pymongo.dbref import DBRef +from pymongo.objectid import ObjectId +from pymongo.son import SON try: _SEEK_SET = os.SEEK_SET diff --git a/pymongo/bson.py b/pymongo/bson.py index dbedb56fd..51f6097da 100644 --- a/pymongo/bson.py +++ b/pymongo/bson.py @@ -23,11 +23,13 @@ import calendar from pymongo.binary import Binary from pymongo.code import Code -from pymongo.objectid import ObjectId from pymongo.dbref import DBRef +from pymongo.errors import (InvalidBSON, + InvalidDocument, + InvalidName, + InvalidStringData) +from pymongo.objectid import ObjectId from pymongo.son import SON -from pymongo.errors import InvalidBSON, InvalidDocument -from pymongo.errors import InvalidName, InvalidStringData try: import _cbson diff --git a/pymongo/collection.py b/pymongo/collection.py index 5f7c2610b..2a376efc8 100644 --- a/pymongo/collection.py +++ b/pymongo/collection.py @@ -17,13 +17,13 @@ import warnings import struct -import helpers -import message -from objectid import ObjectId -from cursor import Cursor -from son import SON -from errors import InvalidName -from code import Code +from pymongo import (helpers, + message) +from pymongo.code import Code +from pymongo.cursor import Cursor +from pymongo.errors import InvalidName +from pymongo.objectid import ObjectId +from pymongo.son import SON _ZERO = "\x00\x00\x00\x00" diff --git a/pymongo/connection.py b/pymongo/connection.py index 9b451e4cc..053481ef4 100644 --- a/pymongo/connection.py +++ b/pymongo/connection.py @@ -33,22 +33,25 @@ To get a :class:`~pymongo.database.Database` instance from a Database(Connection('localhost', 27017), u'test-database') """ -import sys +import datetime +import errno +import random import socket import struct +import sys import threading -import random -import errno -import datetime import warnings -from errors import ConnectionFailure, ConfigurationError, AutoReconnect -from errors import OperationFailure, DuplicateKeyError -from database import Database -from cursor_manager import CursorManager -import bson -import message -import helpers +from pymongo import (bson, + helpers, + message) +from pymongo.cursor_manager import CursorManager +from pymongo.database import Database +from pymongo.errors import (ConnectionFailure, + ConfigurationError, + AutoReconnect, + OperationFailure, + DuplicateKeyError) _CONNECT_TIMEOUT = 20.0 diff --git a/pymongo/cursor.py b/pymongo/cursor.py index 533e40fda..d39c234bc 100644 --- a/pymongo/cursor.py +++ b/pymongo/cursor.py @@ -17,11 +17,12 @@ import struct import warnings -import helpers -import message -from son import SON -from code import Code -from errors import InvalidOperation, AutoReconnect +from pymongo import (helpers, + message) +from pymongo.code import Code +from pymongo.errors import (InvalidOperation, + AutoReconnect) +from pymongo.son import SON _QUERY_OPTIONS = { "tailable_cursor": 2, diff --git a/pymongo/database.py b/pymongo/database.py index d3db127ff..b8267d597 100644 --- a/pymongo/database.py +++ b/pymongo/database.py @@ -14,21 +14,24 @@ """Database level operations.""" -import warnings try: import hashlib _md5func = hashlib.md5 except: # for Python < 2.5 import md5 _md5func = md5.new +import warnings -from son import SON -from dbref import DBRef -from son_manipulator import ObjectIdInjector, ObjectIdShuffler -from collection import Collection -from errors import InvalidName, CollectionInvalid, OperationFailure -from code import Code -import helpers +from pymongo import helpers +from pymongo.code import Code +from pymongo.collection import Collection +from pymongo.dbref import DBRef +from pymongo.errors import (CollectionInvalid, + InvalidName, + OperationFailure) +from pymongo.son import SON +from pymongo.son_manipulator import (ObjectIdInjector, + ObjectIdShuffler) class Database(object): @@ -190,9 +193,9 @@ class Database(object): - `son`: the son object coming out of the database - `collection`: the collection the son object was saved in """ - for manipulator in helpers._reversed(self.__outgoing_manipulators): + for manipulator in reversed(self.__outgoing_manipulators): son = manipulator.transform_outgoing(son, collection) - for manipulator in helpers._reversed(self.__outgoing_copying_manipulators): + for manipulator in reversed(self.__outgoing_copying_manipulators): son = manipulator.transform_outgoing(son, collection) return son diff --git a/pymongo/dbref.py b/pymongo/dbref.py index 9cf180897..580bdd400 100644 --- a/pymongo/dbref.py +++ b/pymongo/dbref.py @@ -14,7 +14,7 @@ """Tools for manipulating DBRefs (references to MongoDB documents).""" -from son import SON +from pymongo.son import SON class DBRef(object): diff --git a/pymongo/helpers.py b/pymongo/helpers.py index 79b3e8859..20bd4ae3b 100644 --- a/pymongo/helpers.py +++ b/pymongo/helpers.py @@ -14,14 +14,15 @@ """Little bits and pieces used by the driver that don't really fit elsewhere.""" -import sys import struct +import sys import warnings -from son import SON -from errors import OperationFailure, AutoReconnect -import bson import pymongo +from pymongo import bson +from pymongo.errors import (OperationFailure, + AutoReconnect) +from pymongo.son import SON def _index_list(key_or_list, direction=None): """Helper to generate a list of (key, direction) pairs. @@ -58,17 +59,6 @@ def _index_document(index_list): return index -def _reversed(l): - """A version of the `reversed()` built-in for Python 2.3. - """ - i = len(l) - while i > 0: - i -= 1 - yield l[i] -if sys.version_info[:3] >= (2, 4, 0): - _reversed = reversed - - def _unpack_response(response, cursor_id=None): """Unpack a response from the database. diff --git a/pymongo/json_util.py b/pymongo/json_util.py index 606799dad..30c64433f 100644 --- a/pymongo/json_util.py +++ b/pymongo/json_util.py @@ -38,12 +38,12 @@ instances. Added support for encoding/decoding datetimes and regular expressions. """ -import datetime import calendar +import datetime import re -from objectid import ObjectId -from dbref import DBRef +from pymongo.dbref import DBRef +from pymongo.objectid import ObjectId # TODO support Binary and Code # Binary and Code are tricky because they subclass str so json thinks it can diff --git a/pymongo/master_slave_connection.py b/pymongo/master_slave_connection.py index d0680de4b..3c8ba233d 100644 --- a/pymongo/master_slave_connection.py +++ b/pymongo/master_slave_connection.py @@ -19,8 +19,8 @@ instances.""" import random -from database import Database -from connection import Connection +from pymongo.connection import Connection +from pymongo.database import Database class MasterSlaveConnection(object): diff --git a/pymongo/message.py b/pymongo/message.py index 21036ef07..132b153c3 100644 --- a/pymongo/message.py +++ b/pymongo/message.py @@ -22,15 +22,14 @@ MongoDB. .. versionadded:: 1.1.2 """ -import threading -import struct import random +import struct import sys +import threading -import bson - +from pymongo import bson try: - import _cbson + from pymongo import _cbson _use_c = True except ImportError: _use_c = False diff --git a/pymongo/objectid.py b/pymongo/objectid.py index a1d796da0..ecef45468 100644 --- a/pymongo/objectid.py +++ b/pymongo/objectid.py @@ -16,21 +16,21 @@ `_. """ -import warnings import datetime -import threading -import time -import socket -import os -import struct try: import hashlib _md5func = hashlib.md5 except: # for Python < 2.5 import md5 _md5func = md5.new +import os +import socket +import struct +import threading +import time +import warnings -from errors import InvalidId +from pymongo.errors import InvalidId def _machine_bytes(): diff --git a/pymongo/son_manipulator.py b/pymongo/son_manipulator.py index 1cfe9d6ae..e7a5ab53c 100644 --- a/pymongo/son_manipulator.py +++ b/pymongo/son_manipulator.py @@ -18,9 +18,9 @@ New manipulators should be defined as subclasses of SONManipulator and can be installed on a database by calling `pymongo.database.Database.add_son_manipulator`.""" -from objectid import ObjectId -from dbref import DBRef -from son import SON +from pymongo.dbref import DBRef +from pymongo.objectid import ObjectId +from pymongo.son import SON class SONManipulator(object):