55ok

Mini

Direktori : /proc/thread-self/root/lib/python2.7/site-packages/pymysql/
Upload File :
Current File : //proc/thread-self/root/lib/python2.7/site-packages/pymysql/converters.pyc

�
�T:Zc@s�ddlmZmZmZmZmZmZddlZddlm	Z	ddl
Z
ddlZddlm
Z
mZddlmZmZdd�Zdd�Zdd	�Zdd
�Zdd�Zdd�Zdd
�Zdd�Zged�D]Zee�^q�Zded<deed�<deed�<deed�<deed�<deed�<deed�<dd�Zer�dd�Z dd �Z!dd!�Z"nJeZ eged"d#�D]Z#e$e#�^q�Z%dd$�Z!dd%�Z"dd&�Z&dd'�Z'dd(�Z(dd)�Z)dd*�Z*dd+�Z+dd,�Z,dd-�Z-d.�Z.e
j/d/�Z0d0�Z1e
j/d1�Z2d2�Z3e
j/d3�Z4d4�Z5d5�Z6d6�Z7d7�Z8d8�Z9e9Z:d9�Z;iee<6ee=6ee6ee>6e'e?6e&e6ee@6eeA6eeB6eeC6eeD6e(eEd�6e,ejF6e+ej6e)ejG6e*ej6e-ejH6ee	6ZIes�es�er�e"eIeJ<nie:e
jK6e=e
jL6e=e
jM6e=e
jN6e>e
jO6e>e
jP6e=e
jQ6e=e
jR6e=e
jS6e7e
jT6e1e
jU6e3e
jV6e6e
jW6e8e
jX6e9e
jY6e9e
jZ6e9e
j[6e9e
j\6e9e
j]6e9e
j^6e9e
j_6e	e
j`6e	e
ja6ZbeIjc�Zdedjeeb�e'ZfdS(:i(tPY2t	text_typet	long_typetJYTHONt
IRONPYTHONtunichri����N(tDecimal(t
FIELD_TYPEtFLAG(t
charset_by_idtcharset_to_encodingcCs�|dkrt}n|jt|��}|say|t}Wqatk
r]td��qaXn|ttfkr�||||�}n|||�}|S(Ns!no default type converter defined(	tNonetencoderstgetttypeRtKeyErrort	TypeErrortescape_dicttescape_sequence(tvaltcharsettmappingtencoder((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_items	
cCsCi}x6|j�D](\}}t|||�}|||<qW|S(N(titemsR(RRRtntktvtquoted((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyRs
cCsKg}x-|D]%}t|||�}|j|�q
Wddj|�dS(Nt(t,t)(Rtappendtjoin(RRRRtitemR((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyR%s

cCs,djg|D]}t|||�^q
�S(NR(R!R(RRRtx((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt
escape_set,scCstt|��S(N(tstrtint(tvalueR((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_bool/scCs
t|�S(N(R%(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt
escape_object2scCs
t|�S(N(R%(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt
escape_int5scCsd|S(Ns%.15g((R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_float8si�u\0iu\\s\u\ns
u\rs
u\Zsu\"t"u\'t'cCs
|jt�S(sGescapes *value* without adding quote.

    Value should be unicode
    (t	translatet
_escape_table(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt_escape_unicodeDscCs�t|t�rt|�St|ttf�s4t�|jdd�}|jdd�}|jdd�}|jdd�}|jd	d
�}|jdd�}|jd
d�}|S(srescape_string escapes *value* but not surround it with quotes.

        Value should be bytes or unicode.
        s\s\\ss\0s
s\ns
s\rss\ZR-s\'R,s\"(t
isinstancetunicodeR0tbytest	bytearraytAssertionErrortreplace(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt
escape_stringLs
cCs)t|ttf�st�dt|�S(Ns_binary'%s'(R1R3R4R5R7(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_bytes_prefixed]scCs)t|ttf�st�dt|�S(Ns'%s'(R1R3R4R5R7(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_bytesasi��i�cCsd|jd�jt�S(Ns_binary'%s'tlatin1(tdecodeR.t_escape_bytes_table(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyR8nscCsd|jd�jt�S(Ns'%s'R:(R;R.R<(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyR9qscCsdt|�S(Nu'%s'(R0(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_unicodeuscCsdtt|�|�S(Ns'%s'(R7R%(R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt
escape_strxscCsdS(NtNULL((R'R((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_None{scCs�t|j�d}t|jd�d}t|jd�dt|j�d}|jrdd}nd}|j||||j�S(Ni<iis!'{0:02d}:{1:02d}:{2:02d}.{3:06d}'s'{0:02d}:{1:02d}:{2:02d}'(R&tsecondstdaystmicrosecondstformat(tobjRRAtminutesthourstfmt((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_timedelta~s(		cCs%|jrd}nd}|j|�S(Ns<'{0.hour:02}:{0.minute:02}:{0.second:02}.{0.microsecond:06}'s)'{0.hour:02}:{0.minute:02}:{0.second:02}'(tmicrosecondRD(RERRH((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_time�s		cCs%|jrd}nd}|j|�S(Ns`'{0.year:04}-{0.month:02}-{0.day:02} {0.hour:02}:{0.minute:02}:{0.second:02}.{0.microsecond:06}'sM'{0.year:04}-{0.month:02}-{0.day:02} {0.hour:02}:{0.minute:02}:{0.second:02}'(RJRD(RERRH((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_datetime�s		cCsd}|j|�S(Ns%'{0.year:04}-{0.month:02}-{0.day:02}'(RD(RERRH((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_date�scCsttj|d ��S(Ni(RLtdatetime(RER((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytescape_struct_time�scCs*|s
dS|jdd�}t|d �S(Niit0(tljustR&(ts((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt_convert_second_fraction�ssM(\d{1,4})-(\d{1,2})-(\d{1,2})[T ](\d{1,2}):(\d{1,2}):(\d{1,2})(?:.(\d{1,6}))?cCs�tr.t|ttf�r.|jd�}ntj|�}|sMt|�SyPt|j	��}t
|d�|d<tjg|D]}t|�^q��SWnt
k
r�t|�SXdS(s�Returns a DATETIME or TIMESTAMP column value as a datetime object:

      >>> datetime_or_None('2007-02-25 23:06:20')
      datetime.datetime(2007, 2, 25, 23, 6, 20)
      >>> datetime_or_None('2007-02-25T23:06:20')
      datetime.datetime(2007, 2, 25, 23, 6, 20)

    Illegal values are returned as None:

      >>> datetime_or_None('2007-02-31T23:06:20') is None
      True
      >>> datetime_or_None('0000-00-00 00:00:00') is None
      True

    tasciii����N(RR1R3R4R;tDATETIME_REtmatchtconvert_datetlisttgroupsRSRNR&t
ValueError(REtmRYR#((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytconvert_datetime�s
*
s0(-)?(\d{1,3}):(\d{1,2}):(\d{1,2})(?:.(\d{1,6}))?c	
Cs�tr.t|ttf�r.|jd�}ntj|�}|sG|Sy�t|j��}t	|d�|d<|dr�dnd}|d\}}}}t
jdt|�dt|�dt|�dt|��|}|SWnt
k
r�|SXd	S(
s�Returns a TIME column as a timedelta object:

      >>> timedelta_or_None('25:06:17')
      datetime.timedelta(1, 3977)
      >>> timedelta_or_None('-25:06:17')
      datetime.timedelta(-2, 83177)

    Illegal values are returned as None:

      >>> timedelta_or_None('random crap') is None
      True

    Note that MySQL always returns TIME columns as (+|-)HH:MM:SS, but
    can accept values as (+|-)DD HH:MM:SS. The latter format will not
    be parsed correctly by this function.
    RTi����iiRGRFRARCN(RR1R3R4R;tTIMEDELTA_RERVRXRYRSRNt	timedeltaR&RZ(	RER[RYtnegateRGRFRARCttdelta((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytconvert_timedelta�s&	
s,(\d{1,2}):(\d{1,2}):(\d{1,2})(?:.(\d{1,6}))?c
Cs�tr.t|ttf�r.|jd�}ntj|�}|sG|Syvt|j��}t	|d�|d<|\}}}}t
jdt|�dt|�dt|�dt|��SWnt
k
r�|SXdS(s�Returns a TIME column as a time object:

      >>> time_or_None('15:06:17')
      datetime.time(15, 6, 17)

    Illegal values are returned as None:

      >>> time_or_None('-25:06:17') is None
      True
      >>> time_or_None('random crap') is None
      True

    Note that MySQL always returns TIME columns as (+|-)HH:MM:SS, but
    can accept values as (+|-)DD HH:MM:SS. The latter format will not
    be parsed correctly by this function.

    Also note that MySQL's TIME column corresponds more closely to
    Python's timedelta and not time. However if you want TIME columns
    to be treated as time-of-day and not a time offset, then you can
    use set this function as the converter for FIELD_TYPE.TIME.
    RTi����thourtminutetsecondRJN(RR1R3R4R;tTIME_RERVRXRYRSRNttimeR&RZ(RER[RYRGRFRARC((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytconvert_time�s!
cCs}tr.t|ttf�r.|jd�}ny6tjg|jdd�D]}t|�^qJ�SWnt	k
rx|SXdS(sReturns a DATE column as a date object:

      >>> date_or_None('2007-02-26')
      datetime.date(2007, 2, 26)

    Illegal values are returned as None:

      >>> date_or_None('2007-02-31') is None
      True
      >>> date_or_None('0000-00-00') is None
      True

    RTt-iN(
RR1R3R4R;RNtdatetsplitR&RZ(RER#((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyRWs6
c	Cstr.t|ttf�r.|jd�}n|ddkrHt|�S|ddt|�7}t|d �t|dd!�t|dd!�t|dd!�t|dd	!�t|d	d!�f\}}}}}}y tj||||||�SWnt	k
r	|SXd
S(s@Convert a MySQL TIMESTAMP to a Timestamp object.

    MySQL >= 4.1 returns TIMESTAMP in the same format as DATETIME:

      >>> mysql_timestamp_converter('2007-02-25 22:32:17')
      datetime.datetime(2007, 2, 25, 22, 32, 17)

    MySQL < 4.1 uses a big string of numbers:

      >>> mysql_timestamp_converter('20070225223217')
      datetime.datetime(2007, 2, 25, 22, 32, 17)

    Illegal values are returned as None:

      >>> mysql_timestamp_converter('2007-02-31 22:32:17') is None
      True
      >>> mysql_timestamp_converter('00000000000000') is None
      True

    RTiRhRPiiii
iN(
RR1R3R4R;R\tlenR&RNRZ(t	timestamptyeartmonthtdayRbRcRd((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytconvert_mysql_timestamp0s
-H 
cCs;t|ttf�r(t|jd��St|jd��S(NR(R1R3R4tsetRj(RR((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytconvert_setRscCs|S(N((R#((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytthroughXscCs�t|j�j}t|�}|jtj@rAt|j|��S|jtj	@rU|S|j
rp|j|�}n3|j|kr�|j|�}|j|j
�}n|S(N(R	t	charsetnrtnameR
tflagsRtSETRrR;tBINARYtuse_unicodeRtencodetencoding(t
connectiontfieldtdatat
field_charsetR{((s6/usr/lib/python2.7/site-packages/pymysql/converters.pytconvert_characterses	(gt_compatRRRRRRRNtdecimalRtreRft	constantsRRRR	R
RRRRR$R(R)R*R+trangeR#R/tordR0R7R8R9titchrR<R=R>R@RIRKRLRMRORStcompileRUR\R]RaReRgRWRpRrRstconvert_bitR�tboolR&tfloatR%ttupleRXRqt	frozensettdictRRiR^tstruct_timeRR3tBITtTINYtSHORTtLONGtFLOATtDOUBLEtLONGLONGtINT24tYEARt	TIMESTAMPtDATETIMEtTIMEtDATERwtBLOBt	TINY_BLOBtMEDIUM_BLOBt	LONG_BLOBtSTRINGt
VAR_STRINGtVARCHARtDECIMALt
NEWDECIMALtdecoderstcopytconversionstupdatet
Thing2Literal(((s6/usr/lib/python2.7/site-packages/pymysql/converters.pyt<module>s�.%
,
			(	'		"		
	

































Zerion Mini 1.0