1313MySQLdb.converters module.
1414"""
1515
16- from MySQLdb .release import __version__ , version_info , __author__
17-
18- from . import _mysql
19-
20- if version_info != _mysql .version_info :
21- raise ImportError ("this is MySQLdb version %s, but _mysql is version %r\n _mysql: %r" %
22- (version_info , _mysql .version_info , _mysql .__file__ ))
23-
24- threadsafety = 1
25- apilevel = "2.0"
26- paramstyle = "format"
27-
28- from ._mysql import *
16+ try :
17+ from MySQLdb .release import version_info
18+ from . import _mysql
19+
20+ assert version_info == _mysql .version_info
21+ except Exception :
22+ raise ImportError (
23+ "this is MySQLdb version {}, but _mysql is version {!r}\n _mysql: {!r}" .format (
24+ version_info , _mysql .version_info , _mysql .__file__
25+ )
26+ )
27+
28+
29+ from ._mysql import (
30+ NotSupportedError ,
31+ OperationalError ,
32+ get_client_info ,
33+ ProgrammingError ,
34+ Error ,
35+ InterfaceError ,
36+ debug ,
37+ IntegrityError ,
38+ string_literal ,
39+ MySQLError ,
40+ DataError ,
41+ escape ,
42+ escape_string ,
43+ DatabaseError ,
44+ InternalError ,
45+ Warning ,
46+ )
2947from MySQLdb .constants import FIELD_TYPE
30- from MySQLdb .times import Date , Time , Timestamp , \
31- DateFromTicks , TimeFromTicks , TimestampFromTicks
48+ from MySQLdb .times import (
49+ Date ,
50+ Time ,
51+ Timestamp ,
52+ DateFromTicks ,
53+ TimeFromTicks ,
54+ TimestampFromTicks ,
55+ )
3256
3357try :
3458 frozenset
3559except NameError :
3660 from sets import ImmutableSet as frozenset
3761
62+ threadsafety = 1
63+ apilevel = "2.0"
64+ paramstyle = "format"
65+
66+
3867class DBAPISet (frozenset ):
3968 """A special type of set for which A == x is true if A is a
4069 DBAPISet and x is a member of that set."""
@@ -45,49 +74,106 @@ def __eq__(self, other):
4574 return other in self
4675
4776
48- STRING = DBAPISet ([FIELD_TYPE .ENUM , FIELD_TYPE .STRING ,
49- FIELD_TYPE .VAR_STRING ])
50- BINARY = DBAPISet ([FIELD_TYPE .BLOB , FIELD_TYPE .LONG_BLOB ,
51- FIELD_TYPE .MEDIUM_BLOB , FIELD_TYPE .TINY_BLOB ])
52- NUMBER = DBAPISet ([FIELD_TYPE .DECIMAL , FIELD_TYPE .DOUBLE , FIELD_TYPE .FLOAT ,
53- FIELD_TYPE .INT24 , FIELD_TYPE .LONG , FIELD_TYPE .LONGLONG ,
54- FIELD_TYPE .TINY , FIELD_TYPE .YEAR , FIELD_TYPE .NEWDECIMAL ])
55- DATE = DBAPISet ([FIELD_TYPE .DATE ])
56- TIME = DBAPISet ([FIELD_TYPE .TIME ])
77+ STRING = DBAPISet ([FIELD_TYPE .ENUM , FIELD_TYPE .STRING , FIELD_TYPE .VAR_STRING ])
78+ BINARY = DBAPISet (
79+ [
80+ FIELD_TYPE .BLOB ,
81+ FIELD_TYPE .LONG_BLOB ,
82+ FIELD_TYPE .MEDIUM_BLOB ,
83+ FIELD_TYPE .TINY_BLOB ,
84+ ]
85+ )
86+ NUMBER = DBAPISet (
87+ [
88+ FIELD_TYPE .DECIMAL ,
89+ FIELD_TYPE .DOUBLE ,
90+ FIELD_TYPE .FLOAT ,
91+ FIELD_TYPE .INT24 ,
92+ FIELD_TYPE .LONG ,
93+ FIELD_TYPE .LONGLONG ,
94+ FIELD_TYPE .TINY ,
95+ FIELD_TYPE .YEAR ,
96+ FIELD_TYPE .NEWDECIMAL ,
97+ ]
98+ )
99+ DATE = DBAPISet ([FIELD_TYPE .DATE ])
100+ TIME = DBAPISet ([FIELD_TYPE .TIME ])
57101TIMESTAMP = DBAPISet ([FIELD_TYPE .TIMESTAMP , FIELD_TYPE .DATETIME ])
58- DATETIME = TIMESTAMP
59- ROWID = DBAPISet ()
102+ DATETIME = TIMESTAMP
103+ ROWID = DBAPISet ()
104+
60105
61106def test_DBAPISet_set_equality ():
62107 assert STRING == STRING
63108
109+
64110def test_DBAPISet_set_inequality ():
65111 assert STRING != NUMBER
66112
113+
67114def test_DBAPISet_set_equality_membership ():
68115 assert FIELD_TYPE .VAR_STRING == STRING
69116
117+
70118def test_DBAPISet_set_inequality_membership ():
71119 assert FIELD_TYPE .DATE != STRING
72120
121+
73122def Binary (x ):
74123 return bytes (x )
75124
125+
76126def Connect (* args , ** kwargs ):
77127 """Factory function for connections.Connection."""
78128 from MySQLdb .connections import Connection
129+
79130 return Connection (* args , ** kwargs )
80131
81- connect = Connection = Connect
82132
83- __all__ = [ 'BINARY' , 'Binary' , 'Connect' , 'Connection' , 'DATE' ,
84- 'Date' , 'Time' , 'Timestamp' , 'DateFromTicks' , 'TimeFromTicks' ,
85- 'TimestampFromTicks' , 'DataError' , 'DatabaseError' , 'Error' ,
86- 'FIELD_TYPE' , 'IntegrityError' , 'InterfaceError' , 'InternalError' ,
87- 'MySQLError' , 'NUMBER' , 'NotSupportedError' , 'DBAPISet' ,
88- 'OperationalError' , 'ProgrammingError' , 'ROWID' , 'STRING' , 'TIME' ,
89- 'TIMESTAMP' , 'Warning' , 'apilevel' , 'connect' , 'connections' ,
90- 'constants' , 'converters' , 'cursors' , 'debug' , 'escape' ,
91- 'escape_string' , 'get_client_info' ,
92- 'paramstyle' , 'string_literal' , 'threadsafety' , 'version_info' ]
133+ connect = Connection = Connect
93134
135+ __all__ = [
136+ "BINARY" ,
137+ "Binary" ,
138+ "Connect" ,
139+ "Connection" ,
140+ "DATE" ,
141+ "Date" ,
142+ "Time" ,
143+ "Timestamp" ,
144+ "DateFromTicks" ,
145+ "TimeFromTicks" ,
146+ "TimestampFromTicks" ,
147+ "DataError" ,
148+ "DatabaseError" ,
149+ "Error" ,
150+ "FIELD_TYPE" ,
151+ "IntegrityError" ,
152+ "InterfaceError" ,
153+ "InternalError" ,
154+ "MySQLError" ,
155+ "NUMBER" ,
156+ "NotSupportedError" ,
157+ "DBAPISet" ,
158+ "OperationalError" ,
159+ "ProgrammingError" ,
160+ "ROWID" ,
161+ "STRING" ,
162+ "TIME" ,
163+ "TIMESTAMP" ,
164+ "Warning" ,
165+ "apilevel" ,
166+ "connect" ,
167+ "connections" ,
168+ "constants" ,
169+ "converters" ,
170+ "cursors" ,
171+ "debug" ,
172+ "escape" ,
173+ "escape_string" ,
174+ "get_client_info" ,
175+ "paramstyle" ,
176+ "string_literal" ,
177+ "threadsafety" ,
178+ "version_info" ,
179+ ]
0 commit comments