summaryrefslogtreecommitdiff
path: root/MySQLdb/__init__.py
diff options
context:
space:
mode:
authorEvax Software <contact@evax.fr>2012-10-04 13:34:39 -0400
committerfarcepest <farcepest@gmail.com>2012-10-04 13:34:39 -0400
commit7a846cf5e35ebcad852309aebaa0bac8a7244744 (patch)
tree4fbd759ae4894cabcd590e15e61b535766a13ee2 /MySQLdb/__init__.py
parent0164ffeb2534f050148348e50a51641491b6a65d (diff)
downloadmysqldb1-7a846cf5e35ebcad852309aebaa0bac8a7244744.tar.gz
Allow pip install from git
Merged with modifications from https://github.com/evax/MySQLdb1/commit/a8152690101733904b16a32ff8467220ca07242c
Diffstat (limited to 'MySQLdb/__init__.py')
-rw-r--r--MySQLdb/__init__.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/MySQLdb/__init__.py b/MySQLdb/__init__.py
new file mode 100644
index 0000000..8761671
--- /dev/null
+++ b/MySQLdb/__init__.py
@@ -0,0 +1,98 @@
+"""MySQLdb - A DB API v2.0 compatible interface to MySQL.
+
+This package is a wrapper around _mysql, which mostly implements the
+MySQL C API.
+
+connect() -- connects to server
+
+See the C API specification and the MySQL documentation for more info
+on other items.
+
+For information on how MySQLdb handles type conversion, see the
+MySQLdb.converters module.
+
+"""
+
+__revision__ = """$Revision$"""[11:-2]
+from MySQLdb.release import __version__, version_info, __author__
+
+import _mysql
+
+if version_info != _mysql.version_info:
+ raise ImportError("this is MySQLdb version %s, but _mysql is version %r" %
+ (version_info, _mysql.version_info))
+
+threadsafety = 1
+apilevel = "2.0"
+paramstyle = "format"
+
+from _mysql import *
+from MySQLdb.constants import FIELD_TYPE
+from MySQLdb.times import Date, Time, Timestamp, \
+ DateFromTicks, TimeFromTicks, TimestampFromTicks
+
+try:
+ frozenset
+except NameError:
+ from sets import ImmutableSet as frozenset
+
+class DBAPISet(frozenset):
+
+ """A special type of set for which A == x is true if A is a
+ DBAPISet and x is a member of that set."""
+
+ def __eq__(self, other):
+ if isinstance(other, DBAPISet):
+ return not self.difference(other)
+ return other in self
+
+
+STRING = DBAPISet([FIELD_TYPE.ENUM, FIELD_TYPE.STRING,
+ FIELD_TYPE.VAR_STRING])
+BINARY = DBAPISet([FIELD_TYPE.BLOB, FIELD_TYPE.LONG_BLOB,
+ FIELD_TYPE.MEDIUM_BLOB, FIELD_TYPE.TINY_BLOB])
+NUMBER = DBAPISet([FIELD_TYPE.DECIMAL, FIELD_TYPE.DOUBLE, FIELD_TYPE.FLOAT,
+ FIELD_TYPE.INT24, FIELD_TYPE.LONG, FIELD_TYPE.LONGLONG,
+ FIELD_TYPE.TINY, FIELD_TYPE.YEAR])
+DATE = DBAPISet([FIELD_TYPE.DATE, FIELD_TYPE.NEWDATE])
+TIME = DBAPISet([FIELD_TYPE.TIME])
+TIMESTAMP = DBAPISet([FIELD_TYPE.TIMESTAMP, FIELD_TYPE.DATETIME])
+DATETIME = TIMESTAMP
+ROWID = DBAPISet()
+
+def test_DBAPISet_set_equality():
+ assert STRING == STRING
+
+def test_DBAPISet_set_inequality():
+ assert STRING != NUMBER
+
+def test_DBAPISet_set_equality_membership():
+ assert FIELD_TYPE.VAR_STRING == STRING
+
+def test_DBAPISet_set_inequality_membership():
+ assert FIELD_TYPE.DATE != STRING
+
+def Binary(x):
+ return str(x)
+
+def Connect(*args, **kwargs):
+ """Factory function for connections.Connection."""
+ from MySQLdb.connections import Connection
+ return Connection(*args, **kwargs)
+
+connect = Connection = Connect
+
+__all__ = [ 'BINARY', 'Binary', 'Connect', 'Connection', 'DATE',
+ 'Date', 'Time', 'Timestamp', 'DateFromTicks', 'TimeFromTicks',
+ 'TimestampFromTicks', 'DataError', 'DatabaseError', 'Error',
+ 'FIELD_TYPE', 'IntegrityError', 'InterfaceError', 'InternalError',
+ 'MySQLError', 'NULL', 'NUMBER', 'NotSupportedError', 'DBAPISet',
+ 'OperationalError', 'ProgrammingError', 'ROWID', 'STRING', 'TIME',
+ 'TIMESTAMP', 'Warning', 'apilevel', 'connect', 'connections',
+ 'constants', 'converters', 'cursors', 'debug', 'escape', 'escape_dict',
+ 'escape_sequence', 'escape_string', 'get_client_info',
+ 'paramstyle', 'string_literal', 'threadsafety', 'version_info']
+
+
+
+