Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/csv.cpython-35.opt-2.pyc



]?@sddlZddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZddlmZddlmZddddd	d
ddd
dddddddddddgZGdd
d
ZGdddeZedeGdd
d
eZedeGdddeZedeGd ddZGd!ddZyeWnek
reZYnXGd"ddZdS)#N)Error__version__writerreaderregister_dialectunregister_dialectget_dialect
list_dialectsfield_size_limit
QUOTE_MINIMAL	QUOTE_ALLQUOTE_NONNUMERIC
QUOTE_NONE__doc__)Dialect)StringIOrrr
rrrrexcel	excel_tabr
rrrrr	Snifferrr
DictReader
DictWriterc@s^eZdZdZdZdZdZdZdZdZ	dZ
dZddZddZ
dS)rFNcCs&|jtkrd|_|jdS)NT)	__class__r_valid	_validate)selfr(/opt/alt/python35/lib64/python3.5/csv.py__init__)s	zDialect.__init__cCsLyt|Wn7tk
rG}ztt|WYdd}~XnXdS)N)_Dialect	TypeErrorrstr)rerrrr.szDialect._validate)__name__
__module____qualname___namer	delimiter	quotecharZ
escapechardoublequoteskipinitialspacelineterminatorquotingrrrrrrrsc@s4eZdZdZdZdZdZdZeZ	dS)r,"TFz
N)
r#r$r%r'r(r)r*r+rr,rrrrr5sc@seZdZdZdS)r	N)r#r$r%r'rrrrr?sz	excel-tabc@s4eZdZdZdZdZdZdZeZ	dS)unix_dialectr-r.TF
N)
r#r$r%r'r(r)r*r+rr,rrrrr0Dsr0Zunixc@sgeZdZddddddZddZeddZejd	dZd
dZdS)rNrcOsI||_||_||_t|||||_||_d|_dS)Nr)_fieldnamesrestkeyrestvalrdialectline_num)rf
fieldnamesr3r4r5argskwdsrrrrPs				zDictReader.__init__cCs|S)Nr)rrrr__iter__YszDictReader.__iter__cCsP|jdkr:yt|j|_Wntk
r9YnX|jj|_|jS)N)r2nextr
StopIterationr6)rrrrr8\s
zDictReader.fieldnamescCs
||_dS)N)r2)rvaluerrrr8fscCs|jdkr|jt|j}|jj|_x|gkrUt|j}q7Wtt|j|}t|j}t|}||kr||d||j<n7||krx(|j|dD]}|j||<qW|S)Nr)	r6r8r<rdictziplenr3r4)rrowdZlfZlrkeyrrr__next__jszDictReader.__next__)	r#r$r%rr;propertyr8setterrErrrrrOs	
c@sUeZdZdddddZddZdd	Zd
dZdd
ZdS)rrraisercOsY||_||_|jdkr4td|||_t|||||_dS)NrHignorez-extrasaction (%s) must be 'raise' or 'ignore')rHrI)r8r4lower
ValueErrorextrasactionr)rr7r8r4rLr5r9r:rrrrs		
	zDictWriter.__init__cCs,tt|j|j}|j|dS)N)r?r@r8writerow)rheaderrrrwriteheaderszDictWriter.writeheadercsqjdkrTfddD}|rTtddjdd|DfddjDS)	NrHcs%g|]}|jkr|qSr)r8).0k)rrr
<listcomp>s	z,DictWriter._dict_to_list.<locals>.<listcomp>z(dict contains fields not in fieldnames: z, cSsg|]}t|qSr)repr)rPxrrrrRs	c3s$|]}j|jVqdS)N)getr4)rPrD)rowdictrrr	<genexpr>sz+DictWriter._dict_to_list.<locals>.<genexpr>)rLrKjoinr8)rrVZwrong_fieldsr)rVrr
_dict_to_lists zDictWriter._dict_to_listcCs|jj|j|S)N)rrMrY)rrVrrrrMszDictWriter.writerowcCs|jjt|j|S)N)r	writerowsmaprY)rZrowdictsrrrrZszDictWriter.writerowsN)r#r$r%rrOrYrMrZrrrrrs	c@sOeZdZddZdddZddZdd	Zd
dZdS)rcCsdddddg|_dS)Nr-r/; :)	preferred)rrrrrszSniffer.__init__NcCs|j||\}}}}|s<|j||\}}|sNtdGdddt}||_||_|pd|_||_|S)NzCould not determine delimiterc@s"eZdZdZdZeZdS)zSniffer.sniff.<locals>.dialectZsniffedz
N)r#r$r%r&r+rr,rrrrr5sr5r.)_guess_quote_and_delimiter_guess_delimiterrrr)r'r(r*)rsample
delimitersr(r)r'r*r5rrrsniffs				z
Sniffer.sniffcCsg}x@dD]8}tj|tjtjB}|j|}|r
Pq
W|sSdSi}i}d}|j}	x|D]}
|	dd	}|
|}|r|j|dd	||<y|	d
d	}|
|}Wntk
rwuYnX|r|dks||kr|j|dd	||<y|	dd	}Wntk
rHwuYnX|
|ru|d	7}quWt|d|j}
|rt|d|j}|||k}|d
krd}nd}d}tjdd
tj	|d|
itj}|j
|rd}nd}|
|||fS)NF(?P<delim>[^\w
"'])(?P<space> ?)(?P<quote>["']).*?(?P=quote)(?P=delim)C(?:^|
)(?P<quote>["']).*?(?P=quote)(?P<delim>[^\w
"'])(?P<space> ?)D(?P<delim>>[^\w
"'])(?P<space> ?)(?P<quote>["']).*?(?P=quote)(?:$|
)*(?:^|
)(?P<quote>["']).*?(?P=quote)(?:$|
)rFrquotedelimZspacerDr1z]((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$)T)rerfrgrh)rFNr)recompileDOTALL	MULTILINEfindall
groupindexrUKeyErrormaxescapesearch)rdatarcmatchesZrestrZregexpZquotesdelimsZspacesrqmnrDr(rkr*Z	dq_regexpr)rrrr`s`
	




	%	z"Sniffer._guess_quote_and_delimitercCsttd|jd}ddtdD}tdt|}d}i}i}i}dt|t|}	}
x|	t|kr |d7}xn||	|
D]\}xS|D]K}|j|i}
|j|}|
j|dd|
|<|
||<qWqWx|jD]}t||j	}t|dkrb|dddkrbqt|dkrt
|dd	d
||<|j||||d||dtdd|Df||<q|d||<qW|j	}t
||}d
}d}xt|dkr||krxj|D]b\}}|ddkr=|ddkr=|d||kr=|dks||kr=|||<q=W|d8}qWt|dkr
t|jd}|dj||djd|k}||fS|
}	|
|7}
qW|s+dSt|dkrxW|jD]L}||jkrG|dj||djd|k}||fSqGWdd|j	D}|j|dd}|dj||djd|k}||fS)Nr1cSsg|]}t|qSr)chr)rPcrrrrR,s	z,Sniffer._guess_delimiter.<locals>.<listcomp>
rrjrDcSs|dS)Nrjr)rTrrr<lambda>Fsz*Sniffer._guess_delimiter.<locals>.<lambda>css|]}|dVqdS)rjNr)rPitemrrrrWKsz+Sniffer._guess_delimiter.<locals>.<genexpr>g?g?g{Gz?z%c rcSs"g|]\}}||fqSrr)rPrQvrrrrRus	)rr)listfiltersplitrangeminrArUcountkeysitemsrsremovesumfloatr_sort)rrvrcasciiZchunkLengthZ	iterationZ
charFrequencyZmodesrxstartendlinecharZ
metaFrequencyZfreqrZmodeListtotalZconsistencyZ	thresholdrQrrkr*rCrrrrast

&$! 

zSniffer._guess_delimiterc
Cstt||j|}t|}t|}i}xt|D]}d||<qIWd}x|D]}|dkr}P|d7}t||krqjxt|jD]}	xUtt	t
gD]4}
y|
||	PWqttfk
rYqXqWt||	}
|
||	kr||	dkr:|
||	<q||	=qWqjWd}x|j
D]\}	}t|tdkrt||	|kr|d7}q|d8}q\y|||	Wn"ttfk
r|d7}Yq\X|d8}q\W|dkS)Nrrj)rrrdr<rArrrintrcomplexrK
OverflowErrorrtyper )
rrbZrdrrNcolumnsZcolumnTypesiZcheckedrBcolZthisTypeZ	hasHeaderZcolTyperrr
has_header~sJ


	


zSniffer.has_header)r#r$r%rrdr`rarrrrrrs
Lg)rlZ_csvrrrrrrrr	r
rrr
rrrrior__all__rrr0rrr	NameErrorrrrrrr<module>s,^	


2

Back to Directory File Manager