13
13
MySQLdb.converters module.
14
14
"""
15
15
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
+ )
29
47
from 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
+ )
32
56
33
57
try :
34
58
frozenset
35
59
except NameError :
36
60
from sets import ImmutableSet as frozenset
37
61
62
+ threadsafety = 1
63
+ apilevel = "2.0"
64
+ paramstyle = "format"
65
+
66
+
38
67
class DBAPISet (frozenset ):
39
68
"""A special type of set for which A == x is true if A is a
40
69
DBAPISet and x is a member of that set."""
@@ -45,49 +74,106 @@ def __eq__(self, other):
45
74
return other in self
46
75
47
76
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 ])
57
101
TIMESTAMP = DBAPISet ([FIELD_TYPE .TIMESTAMP , FIELD_TYPE .DATETIME ])
58
- DATETIME = TIMESTAMP
59
- ROWID = DBAPISet ()
102
+ DATETIME = TIMESTAMP
103
+ ROWID = DBAPISet ()
104
+
60
105
61
106
def test_DBAPISet_set_equality ():
62
107
assert STRING == STRING
63
108
109
+
64
110
def test_DBAPISet_set_inequality ():
65
111
assert STRING != NUMBER
66
112
113
+
67
114
def test_DBAPISet_set_equality_membership ():
68
115
assert FIELD_TYPE .VAR_STRING == STRING
69
116
117
+
70
118
def test_DBAPISet_set_inequality_membership ():
71
119
assert FIELD_TYPE .DATE != STRING
72
120
121
+
73
122
def Binary (x ):
74
123
return bytes (x )
75
124
125
+
76
126
def Connect (* args , ** kwargs ):
77
127
"""Factory function for connections.Connection."""
78
128
from MySQLdb .connections import Connection
129
+
79
130
return Connection (* args , ** kwargs )
80
131
81
- connect = Connection = Connect
82
132
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
93
134
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