@@ -172,6 +172,7 @@ <h1>Source code for sqlobject.mysql.mysqlconnection</h1><div class="highlight"><
172172 < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> dbEncoding</ span >  < span  class ="o "> =</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> kw</ span > < span  class ="p "> [</ span > < span  class ="s2 "> "charset"</ span > < span  class ="p "> ]</ span >  < span  class ="o "> =</ span >  < span  class ="n "> kw</ span > < span  class ="o "> .</ span > < span  class ="n "> pop</ span > < span  class ="p "> (</ span > < span  class ="s2 "> "charset"</ span > < span  class ="p "> )</ span > 
173173 < span  class ="k "> else</ span > < span  class ="p "> :</ span > 
174174 < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> dbEncoding</ span >  < span  class ="o "> =</ span >  < span  class ="kc "> None</ span > 
175+  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> driver</ span >  < span  class ="o "> =</ span >  < span  class ="n "> driver</ span > 
175176
176177 < span  class ="k "> global</ span >  < span  class ="n "> mysql_Bin</ span > 
177178 < span  class ="k "> if</ span >  < span  class ="ow "> not</ span >  < span  class ="n "> PY2</ span >  < span  class ="ow "> and</ span >  < span  class ="n "> mysql_Bin</ span >  < span  class ="ow "> is</ span >  < span  class ="kc "> None</ span > < span  class ="p "> :</ span > 
@@ -192,20 +193,20 @@ <h1>Source code for sqlobject.mysql.mysqlconnection</h1><div class="highlight"><
192193< div  class ="viewcode-block " id ="MySQLConnection.makeConnection "> < a  class ="viewcode-back " href ="../../../api/sqlobject.mysql.mysqlconnection.html#sqlobject.mysql.mysqlconnection.MySQLConnection.makeConnection "> [docs]</ a >  < span  class ="k "> def</ span >  < span  class ="nf "> makeConnection</ span > < span  class ="p "> (</ span > < span  class ="bp "> self</ span > < span  class ="p "> ):</ span > 
193194 < span  class ="n "> dbEncoding</ span >  < span  class ="o "> =</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> dbEncoding</ span > 
194195 < span  class ="k "> if</ span >  < span  class ="n "> dbEncoding</ span > < span  class ="p "> :</ span > 
195-  < span  class ="k "> if</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> module </ span > < span  class ="o "> .</ span > < span  class ="n "> __name__ </ span > < span class ="o " > == </ span > < span class ="s1 "> 'MySQLdb '</ span > < span  class ="p "> :</ span > 
196+  < span  class ="k "> if</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> driver </ span > < span  class ="o "> .</ span > < span  class ="n "> lower </ span > < span class =" p " > () </ span > < span class ="ow " > in </ span > < span class =" p " > ( </ span > < span class =" s1 " > 'mysqldb' </ span > < span class =" p " > , </ span > < span class ="s1 "> 'pymysql '</ span > < span  class ="p "> ) :</ span > 
196197 < span  class ="kn "> from</ span >  < span  class ="nn "> MySQLdb.connections</ span >  < span  class ="k "> import</ span >  < span  class ="n "> Connection</ span > 
197198 < span  class ="k "> if</ span >  < span  class ="ow "> not</ span >  < span  class ="nb "> hasattr</ span > < span  class ="p "> (</ span > < span  class ="n "> Connection</ span > < span  class ="p "> ,</ span >  < span  class ="s1 "> 'set_character_set'</ span > < span  class ="p "> ):</ span > 
198199 < span  class ="c1 "> # monkeypatch pre MySQLdb 1.2.1</ span > 
199200 < span  class ="k "> def</ span >  < span  class ="nf "> character_set_name</ span > < span  class ="p "> (</ span > < span  class ="bp "> self</ span > < span  class ="p "> ):</ span > 
200201 < span  class ="k "> return</ span >  < span  class ="n "> dbEncoding</ span >  < span  class ="o "> +</ span >  < span  class ="s1 "> '_'</ span >  < span  class ="o "> +</ span >  < span  class ="n "> dbEncoding</ span > 
201202 < span  class ="n "> Connection</ span > < span  class ="o "> .</ span > < span  class ="n "> character_set_name</ span >  < span  class ="o "> =</ span >  < span  class ="n "> character_set_name</ span > 
202-  < span  class ="k "> if</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> module </ span > < span class =" o " > . </ span > < span  class ="n " > __name__ </ span > < span class =" o "> ==</ span >  < span  class ="s1 "> 'mysql. connector'</ span > < span  class ="p "> :</ span > 
203+  < span  class ="k "> if</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> driver </ span > < span  class ="o "> ==</ span >  < span  class ="s1 "> 'connector'</ span > < span  class ="p "> :</ span > 
203204 < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> kw</ span > < span  class ="p "> [</ span > < span  class ="s1 "> 'consume_results'</ span > < span  class ="p "> ]</ span >  < span  class ="o "> =</ span >  < span  class ="kc "> True</ span > 
204205 < span  class ="k "> try</ span > < span  class ="p "> :</ span > 
205206 < span  class ="n "> conn</ span >  < span  class ="o "> =</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> module</ span > < span  class ="o "> .</ span > < span  class ="n "> connect</ span > < span  class ="p "> (</ span > 
206207 < span  class ="n "> host</ span > < span  class ="o "> =</ span > < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> host</ span > < span  class ="p "> ,</ span >  < span  class ="n "> port</ span > < span  class ="o "> =</ span > < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> port</ span > < span  class ="p "> ,</ span >  < span  class ="n "> db</ span > < span  class ="o "> =</ span > < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> db</ span > < span  class ="p "> ,</ span > 
207208 < span  class ="n "> user</ span > < span  class ="o "> =</ span > < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> user</ span > < span  class ="p "> ,</ span >  < span  class ="n "> passwd</ span > < span  class ="o "> =</ span > < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> password</ span > < span  class ="p "> ,</ span >  < span  class ="o "> **</ span > < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> kw</ span > < span  class ="p "> )</ span > 
208-  < span  class ="k "> if</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> module </ span > < span class =" o " > . </ span > < span class =" n " > __name__ </ span >  < span  class ="o "> !=</ span >  < span  class ="s1 "> 'oursql'</ span > < span  class ="p "> :</ span > 
209+  < span  class ="k "> if</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> driver </ span >  < span  class ="o "> !=</ span >  < span  class ="s1 "> 'oursql'</ span > < span  class ="p "> :</ span > 
209210 < span  class ="c1 "> # Attempt to reconnect. This setting is persistent.</ span > 
210211 < span  class ="n "> conn</ span > < span  class ="o "> .</ span > < span  class ="n "> ping</ span > < span  class ="p "> (</ span > < span  class ="kc "> True</ span > < span  class ="p "> )</ span > 
211212 < span  class ="k "> except</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> module</ span > < span  class ="o "> .</ span > < span  class ="n "> OperationalError</ span >  < span  class ="k "> as</ span >  < span  class ="n "> e</ span > < span  class ="p "> :</ span > 
@@ -216,10 +217,12 @@ <h1>Source code for sqlobject.mysql.mysqlconnection</h1><div class="highlight"><
216217
217218 < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> _setAutoCommit</ span > < span  class ="p "> (</ span > < span  class ="n "> conn</ span > < span  class ="p "> ,</ span >  < span  class ="nb "> bool</ span > < span  class ="p "> (</ span > < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> autoCommit</ span > < span  class ="p "> ))</ span > 
218219
219-  < span  class ="k "> if</ span >  < span  class ="n "> dbEncoding</ span > < span class =" ow " > and </ span > < span class =" bp " > self </ span > < span class =" o " > . </ span > < span class =" n " > module </ span > < span class =" o " > . </ span > < span class =" n " > __name__ </ span > < span class =" o " > == </ span > < span class =" s1 " > 'MySQLdb' </ span > < span  class ="p "> :</ span > 
220-  < span  class ="k "> if</ span >  < span  class ="nb "> hasattr</ span > < span  class ="p "> (</ span > < span  class ="n "> conn</ span > < span  class ="p "> ,</ span >  < span  class ="s1 "> 'set_character_set'</ span > < span  class ="p "> ):</ span > < span class =" c1 " > # MySQLdb 1.2.1 and later </ span > 
220+  < span  class ="k "> if</ span >  < span  class ="n "> dbEncoding</ span > < span  class ="p "> :</ span > 
221+  < span  class ="k "> if</ span >  < span  class ="nb "> hasattr</ span > < span  class ="p "> (</ span > < span  class ="n "> conn</ span > < span  class ="p "> ,</ span >  < span  class ="s1 "> 'set_character_set'</ span > < span  class ="p "> ):</ span > 
221222 < span  class ="n "> conn</ span > < span  class ="o "> .</ span > < span  class ="n "> set_character_set</ span > < span  class ="p "> (</ span > < span  class ="n "> dbEncoding</ span > < span  class ="p "> )</ span > 
222-  < span  class ="k "> else</ span > < span  class ="p "> :</ span >  < span  class ="c1 "> # pre MySQLdb 1.2.1</ span > 
223+  < span  class ="k "> elif</ span >  < span  class ="bp "> self</ span > < span  class ="o "> .</ span > < span  class ="n "> driver</ span >  < span  class ="o "> ==</ span >  < span  class ="s1 "> 'oursql'</ span > < span  class ="p "> :</ span > 
224+  < span  class ="n "> conn</ span > < span  class ="o "> .</ span > < span  class ="n "> charset</ span >  < span  class ="o "> =</ span >  < span  class ="n "> dbEncoding</ span > 
225+  < span  class ="k "> elif</ span >  < span  class ="nb "> hasattr</ span > < span  class ="p "> (</ span > < span  class ="n "> conn</ span > < span  class ="p "> ,</ span >  < span  class ="s1 "> 'query'</ span > < span  class ="p "> ):</ span > 
223226 < span  class ="c1 "> # works along with monkeypatching code above</ span > 
224227 < span  class ="n "> conn</ span > < span  class ="o "> .</ span > < span  class ="n "> query</ span > < span  class ="p "> (</ span > < span  class ="s2 "> "SET NAMES </ span > < span  class ="si "> %s</ span > < span  class ="s2 "> "</ span >  < span  class ="o "> %</ span >  < span  class ="n "> dbEncoding</ span > < span  class ="p "> )</ span > 
225228
0 commit comments