K i&ddlZddlZddlZddlmZddlmZejdk\reZ ddZ ddZ dZ dZ d ZGd d eZGd d eZGddeZGddeZGddeZGddeZy)N)Decimal)InlineTableDictcp|js tdt||}|j||S)aWrites out dict as toml to a file Args: o: Object to dump into toml f: File descriptor where the toml should be stored encoder: The ``TomlEncoder`` to use for constructing the output string Returns: String containing the toml corresponding to dictionary Raises: TypeError: When anything other than file descriptor is passed z0You can only dump an object to a file descriptor)encoder)write TypeErrordumps)ofrds R/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/toml/encoder.pydumpr s3 77JKK a!AGGAJ Hcd}|t|j}|j|d\}}||z }t|g}|r|j Dcgc] }t|}}|D]}||vst d||z }|j } |D]V}|j|||\}} |s|s#| s!|r |dddk7r|dz }|d|zdzz }|r||z }| D]} | | | |d z| z<X| }|r|Scc}w) aStringifies input dict as toml Args: o: Object to dump into toml encoder: The ``TomlEncoder`` to use for constructing the output string Returns: String containing the toml corresponding to dict Examples: ```python >>> import toml >>> output = { ... 'a': "I'm a string", ... 'b': ["I'm", "a", "list"], ... 'c': 2400 ... } >>> toml.dumps(output) 'a = "I'm a string" b = [ "I'm", "a", "list",] c = 2400 ' ``` NzCircular reference detectedz  [] .) TomlEncoder __class__ dump_sectionsidvalues ValueErrorget_empty_table) r rretval addtoretvalsections outer_objssection section_ids outer_obj newsections addtosectionsss rr r "s\.Fakk*#11!R8K kFQ%J 2://2CDwr'{D D# @IK' !>?? @ k! --/  BG)0)>)>!7*, &K;}fRSkV3dNF#-%//k)F" B1>q1A GcMA-. B B' ( M'EsC5ctjdkr-t|dr!t|tr|j d}d|z}|ddk(r|dd}|j d}|s|j d r|dd }|r$|jd d}|jd d }|jd }t|dkDrd }|ds|dd}|djdd|d<|d|dk7}|dd|r'|d|dk(r| }|dz}|dd|r |d|dk(r|rd}nd}|d|z|dzg|ddz}t|dkDrtd |dzd zS)Nrdecodezutf-8z%rru'"z\'z\"z\xz\\\xu00) sys version_infohasattr isinstancestrr+ startswithreplacesplitlenunicode)v singlequoteijoinxjoiners r _dump_strrDVs $71h#7Jq# ! !% . 6 6ud CCrcl|j}||jS|jddS)Ni) utcoffset isoformat)r?rKs r _dump_timerMys2 I{{} ;;=" rc6eZdZedfdZdZdZdZdZdZ y) rFc&||_||_ttttt |j tdtdtttttjdtjttjdi |_y)Nc4t|jSN)r>lowerrHs rz&TomlEncoder.__init__..sGAJ,,.rc|SrQrHs rrSz&TomlEncoder.__init__..s1rcB|jjddS)Nz+00:00Z)rLr;rHs rrSz&TomlEncoder.__init__..s)>)>x)Mrc"|jSrQ)rLrHs rrSz&TomlEncoder.__init__..s Q[[]r)_dictpreserver9rDr>list dump_listboolintfloatrIrdatetimetimerMdate dump_funcs)selfrYrZs r__init__zTomlEncoder.__init__s`    Y $.. .  ; [   M MM: MM2  rc"|jSrQ)rY)rds rrzTomlEncoder.get_empty_tableszz|rchd}|D]%}|dt|j|zdzz }'|dz }|S)Nr ,])r> dump_value)rdr?r r,s rr\zTomlEncoder.dump_listsF >A cGDOOA$677#= =F >#  rcd}t|tr^g}|jD]-\}}|j|}|j |dz|z/|ddj |zdzz }|St |j|S)zPreserve inline table in its compact syntax instead of expanding into subsection. https://github.com/toml-lang/toml#user-content-inline-table r = z{ z, z } )r8dictitemsdump_inline_tableappendjoinr>rk)rdr$r val_listkr?vals rrpzTomlEncoder.dump_inline_tables  gt $H  11,,Q/E C0 1 dTYYx0069 9FM4??734 4rc|jjt|}|t|dr|jt}|||S|jt |S)N__iter__)rcgettyper7r[r9)rdr?dump_fns rrkzTomlEncoder.dump_values[//%%d1g. ?wq*5ood+G$0wqzM6Jdooc6J16MMrc d}|dk7r |ddk7r|dz }|j}d}|D]}t|}|}tjd|s t |}t ||t s#d}t ||tr||D]} t | t sd}|r||D]} d} |d|z|zd zz }|j| ||z\} } | r| d d k(r| | z } n|| z }| rm|j} | D]S}|j| |||zdz|z\}}|r| d |z|zdz|zd zz } | |z } |D]}||| |dz|z<U| } | rm|| z }7||>||d zt|j||zdzz }i|jr2t ||tr||d z|j||zz }||||<||z }||fS)Nrr0rz^[A-Za-z0-9_-]+$FTrz[[z]] rrrrm) rYr>rematchrDr8rnr[rrkrZrrp)rdr supretstrretdictarraystrr$qsection arrayoftablesa arraytabstrr)rnewddsecs1d1s rrzTomlEncoder.dump_sectionss "9RC 3JC**,+ /Gg&GH88/9$W-aj$/ % aj$/wZ1%a.,0M1!wZ0&*  D3J$9F$BB#11!S8^D1 ts{ +q 0 (A #'::5?AF5G%HK$/2$5K*,!CB<>rFDb$9!C C!%A !K/-00z-8e#3#*4??1W:+F#G$HJN$OP:aj/#J8e+11!G*=>?%&gJ!W+ /X (  rN) __name__ __module__ __qualname__rnrerr\rprkrrUrrrrs&!E 5"N3!rrc"eZdZeffd ZxZS)TomlPreserveInlineDictEncoderc.tt| |dy)NT)superrre)rdrYrs rrez&TomlPreserveInlineDictEncoder.__init__s +T;E4Hrrrrrnre __classcell__rs@rrrs!IIrrc,eZdZeddffd ZdZxZS)TomlArraySeparatorEncoderFrictt| |||jdk(r d|z}||_y|jdr t d||_y)Nrriz ,zInvalid separator for arrays)rrrestripr separator)rdrYrZrrs rrez"TomlArraySeparatorEncoder.__init__sW '7xH ??  "iI#__Z (;< <"rc g}d}|D]"}|j|j|$|gk7rXg}|D]I}t|tr|D]}|j|,|dt |z|j zz }K|}|gk7rX|dz }|S)Nrrhrj)rqrkr8r[r>r)rdr?tr r,r)rs rr\z#TomlArraySeparatorEncoder.dump_lists  )A HHT__Q' ( )2gA @a&$ $cGAJ.??F  @ A2g #  r)rrrrnrer\rrs@rrrs!ES#rrc*eZdZedffd ZdZxZS)TomlNumpyEncoderFcddl}tt|||t|j |j <t|j |j<t|j |j<|j|j |j<|j|j |j<|j|j |j<y)Nr) numpyrrrerIrcfloat16float32float64 _dump_intint16int32int64)rdrYrZnprs rrezTomlNumpyEncoder.__init__s .uh?&1 #&1 #&1 #$(NN!$(NN!$(NN!rc6djt|S)NrF)rGr^rdr?s rrzTomlNumpyEncoder._dump_ints{{3q6""r)rrrrnrerrrs@rrrs!E3#rrc$eZdZedffd ZxZS)TomlPreserveCommentEncoderFc`ddlm}tt||fdj |<y)Nr) CommentValuec:|jjSrQ)rrk)r?rds rrSz5TomlPreserveCommentEncoder.__init__..#s!&&2Ir) toml.decoderrrrrerc)rdrYrZrrs` rrez#TomlPreserveCommentEncoder.__init__ s&- ($8I(I %rrrs@rrrs!EJJrrc$eZdZdZfdZxZS)TomlPathlibEncoderc*tt|SrQ)rDr9rs r_dump_pathlib_pathz%TomlPathlibEncoder._dump_pathlib_path(sQ  rcdtjkr%ddl}t||jr t |}t t|#|S)N)rr) r5r6pathlibr8PurePathr9rrrk)rdr?rrs rrkzTomlPathlibEncoder.dump_value+s@ S%% % !W--.F'9!<rr rDrIrMobjectrrrrrrrUrrrs (tG ,1h%>Dh!&h!VIKI  8 #{ # JJ = =r