PageRenderTime 26ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/MySQLdb-1.2.2c1/MySQLdb/MySQLdb/__init__.py

https://github.com/twleung/mac-mysql-python
Python | 91 lines | 76 code | 1 blank | 14 comment | 0 complexity | 80ddae12e2ac71a7ce04c361ae6110ed MD5 | raw file
  1. """MySQLdb - A DB API v2.0 compatible interface to MySQL.
  2. This package is a wrapper around _mysql, which mostly implements the
  3. MySQL C API.
  4. connect() -- connects to server
  5. See the C API specification and the MySQL documentation for more info
  6. on other items.
  7. For information on how MySQLdb handles type conversion, see the
  8. MySQLdb.converters module.
  9. """
  10. __revision__ = """$Revision$"""[11:-2]
  11. from release import __version__, version_info, __author__
  12. import _mysql
  13. if version_info != _mysql.version_info:
  14. raise ImportError, "this is MySQLdb version %s, but _mysql is version %r" %\
  15. (version_info, _mysql.version_info)
  16. threadsafety = 1
  17. apilevel = "2.0"
  18. paramstyle = "format"
  19. from _mysql import *
  20. from MySQLdb.constants import FIELD_TYPE
  21. from MySQLdb.times import Date, Time, Timestamp, \
  22. DateFromTicks, TimeFromTicks, TimestampFromTicks
  23. from sets import ImmutableSet
  24. class DBAPISet(ImmutableSet):
  25. """A special type of set for which A == x is true if A is a
  26. DBAPISet and x is a member of that set."""
  27. def __ne__(self, other):
  28. from sets import BaseSet
  29. if isinstance(other, BaseSet):
  30. return super(self).__ne__(self, other)
  31. else:
  32. return other not in self
  33. def __eq__(self, other):
  34. from sets import BaseSet
  35. if isinstance(other, BaseSet):
  36. return super(self).__eq__(self, other)
  37. else:
  38. return other in self
  39. STRING = DBAPISet([FIELD_TYPE.ENUM, FIELD_TYPE.STRING,
  40. FIELD_TYPE.VAR_STRING])
  41. BINARY = DBAPISet([FIELD_TYPE.BLOB, FIELD_TYPE.LONG_BLOB,
  42. FIELD_TYPE.MEDIUM_BLOB, FIELD_TYPE.TINY_BLOB])
  43. NUMBER = DBAPISet([FIELD_TYPE.DECIMAL, FIELD_TYPE.DOUBLE, FIELD_TYPE.FLOAT,
  44. FIELD_TYPE.INT24, FIELD_TYPE.LONG, FIELD_TYPE.LONGLONG,
  45. FIELD_TYPE.TINY, FIELD_TYPE.YEAR])
  46. DATE = DBAPISet([FIELD_TYPE.DATE, FIELD_TYPE.NEWDATE])
  47. TIME = DBAPISet([FIELD_TYPE.TIME])
  48. TIMESTAMP = DBAPISet([FIELD_TYPE.TIMESTAMP, FIELD_TYPE.DATETIME])
  49. DATETIME = TIMESTAMP
  50. ROWID = DBAPISet()
  51. def Binary(x):
  52. return str(x)
  53. def Connect(*args, **kwargs):
  54. """Factory function for connections.Connection."""
  55. from connections import Connection
  56. return Connection(*args, **kwargs)
  57. connect = Connection = Connect
  58. __all__ = [ 'BINARY', 'Binary', 'Connect', 'Connection', 'DATE',
  59. 'Date', 'Time', 'Timestamp', 'DateFromTicks', 'TimeFromTicks',
  60. 'TimestampFromTicks', 'DataError', 'DatabaseError', 'Error',
  61. 'FIELD_TYPE', 'IntegrityError', 'InterfaceError', 'InternalError',
  62. 'MySQLError', 'NULL', 'NUMBER', 'NotSupportedError', 'DBAPISet',
  63. 'OperationalError', 'ProgrammingError', 'ROWID', 'STRING', 'TIME',
  64. 'TIMESTAMP', 'Warning', 'apilevel', 'connect', 'connections',
  65. 'constants', 'cursors', 'debug', 'escape', 'escape_dict',
  66. 'escape_sequence', 'escape_string', 'get_client_info',
  67. 'paramstyle', 'string_literal', 'threadsafety', 'version_info']