17
17
18
18
Conversion function:
19
19
20
- Arguments: Python object of indicated type or class AND
20
+ Arguments: Python object of indicated type or class AND
21
21
conversion dictionary
22
22
23
23
Returns: SQL literal value
@@ -58,7 +58,7 @@ def Str2Set(s):
58
58
59
59
def Set2Str (s , d ):
60
60
return string_literal (',' .join (s ), d )
61
-
61
+
62
62
def Thing2Str (s , d ):
63
63
"""Convert something into a string via str()."""
64
64
return str (s )
@@ -74,7 +74,7 @@ def Float2Str(o, d):
74
74
75
75
def None2NULL (o , d ):
76
76
"""Convert None to NULL."""
77
- return NULL # duh
77
+ return NULL # duh
78
78
79
79
def Thing2Literal (o , d ):
80
80
"""Convert something into a SQL string literal. If using
@@ -93,6 +93,9 @@ def array2Str(o, d):
93
93
def quote_tuple (t , d ):
94
94
return "(%s)" % (',' .join (escape_sequence (t , d )))
95
95
96
+ # bytes or str regarding to BINARY_FLAG.
97
+ _bytes_or_str = [(FLAG .BINARY , bytes )]
98
+
96
99
conversions = {
97
100
int : Thing2Str ,
98
101
long : Thing2Str ,
@@ -123,19 +126,16 @@ def quote_tuple(t, d):
123
126
FIELD_TYPE .DATETIME : DateTime_or_None ,
124
127
FIELD_TYPE .TIME : TimeDelta_or_None ,
125
128
FIELD_TYPE .DATE : Date_or_None ,
126
- FIELD_TYPE .BLOB : [
127
- (FLAG .BINARY , bytes ),
128
- ],
129
- FIELD_TYPE .STRING : [
130
- (FLAG .BINARY , bytes ),
131
- ],
132
- FIELD_TYPE .VAR_STRING : [
133
- (FLAG .BINARY , bytes ),
134
- ],
135
- FIELD_TYPE .VARCHAR : [
136
- (FLAG .BINARY , bytes ),
137
- ],
138
- }
129
+
130
+ FIELD_TYPE .TINY_BLOB : _bytes_or_str ,
131
+ FIELD_TYPE .MEDIUM_BLOB : _bytes_or_str ,
132
+ FIELD_TYPE .LONG_BLOB : _bytes_or_str ,
133
+ FIELD_TYPE .BLOB : _bytes_or_str ,
134
+ FIELD_TYPE .STRING : _bytes_or_str ,
135
+ FIELD_TYPE .VAR_STRING : _bytes_or_str ,
136
+ FIELD_TYPE .VARCHAR : _bytes_or_str ,
137
+ }
138
+
139
139
if PY2 :
140
140
conversions [unicode ] = Unicode2Str
141
141
else :
0 commit comments