L i dZddlmZddlmZddlmZddlmZddl Z ddlZddl Z ddl Z ddl Z ddl mZmZddlmZdd lmZmZe j*d ed Gd deZeGddZeGddZeGddZdZe j:dZej?dddddej?ddd !ej?d"d#d$d%gd$d&'ej?d(d)ed*+ej?d,d-!ej?d.d/ej@d01ej?d2d3!d4Z!d5Z"e jFd6dfd7Z$e jJe jLe jNfd8Z(y)9z" The ``jsonschema`` command line. )metadata)JSONDecodeError resolve_name)dedentN)definefield) SchemaError) _RefResolver validator_forzThe jsonschema CLI is deprecated and will be removed in a future version. Please use check-jsonschema instead, which can be installed from https://pypi.org/project/check-jsonschema/) stacklevelc eZdZy)_CannotLoadFileN)__name__ __module__ __qualname__T/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/jsonschema/cli.pyrrsrrcdeZdZeZeZeZedZdZ dZ dZ dZ dZ y) _Outputtercj|ddk(rt|d}n|ddk(r t}|||S)Noutputplain error_formatpretty) formatterstdoutstderr)_PlainFormatter_PrettyFormatter)cls argumentsrr rs rfrom_argumentsz_Outputter.from_arguments*sB X ' )' .(ABI x H ,(*IYvfEErcz t|}|5 t j|cdddS#t$r5}|j|tjt |d}~wwxYw#t$r5}|j|tjt |d}~wwxYw#1swYyxYw)Npathexc_info) openFileNotFoundErrorfilenotfound_errorsysr)rjsonloadr parsing_error)selfr(fileerrors rr/z_Outputter.load2s /:D  3 3yy 3 3 ! /  # #  # G!# . /# 3""s||~"F%'U2 3 3 3s< /B1A0 A-0A((A-0 B.90B))B..B11B:c n|jj|jjdi|yNr)_stderrwrite _formatterr,r1kwargss rr,z_Outputter.filenotfound_error@) =4??==GGHrc n|jj|jjdi|yr5)r6r7r8r0r9s rr0z_Outputter.parsing_errorCs) 84??88B6BCrc n|jj|jjdi|yr5)r6r7r8validation_errorr9s rr>z_Outputter.validation_errorFs) ;4??;;EfEFrc n|jj|jjdi|yr5)_stdoutr7r8validation_successr9s rrAz_Outputter.validation_successIr;rN)rrrr r8r@r6 classmethodr%r/r,r0r>rArrrrr#sJJgGgGFF 3IDGIrrc8eZdZedZdZdZdZdZdZ y)r"z` ===[{type}]===({path})=== {body} ----------------------------- z===[SUCCESS]===({path})=== cD|jj|d|dS)Nr+z does not exist.r(typebody) _ERROR_MSGformatr1r(r)s rr,z#_PrettyFormatter.filenotfound_errorZs/%%$8+,&  rc|\}}}djtj|||}|jj ||j |S)NrE)join tracebackformat_exceptionrHrIr)r1r(r)exc_type exc_value exc_traceback exc_liness rr0z_PrettyFormatter.parsing_erroras[-5*)]GG  & &xM J %%""&  rcf|jj||jj|S)NrE)rHrI __class__rr1 instance_pathr3s rr>z!_PrettyFormatter.validation_errorls1%%))&  rc:|jj|S)N)r() _SUCCESS_MSGrIr1rWs rrAz#_PrettyFormatter.validation_successss  '']';;rN) rrrrrHrYr,r0r>rArrrr"r"Ms. J2L    )rIreprrJs rr0z_PlainFormatter.parsing_errors,)00*IT QK  rc<|jj||S)N) file_namer3) _error_formatrIrVs rr>z _PlainFormatter.validation_errors!!((=(NNrcy)NrLrrZs rrAz"_PlainFormatter.validation_successsrN) rrrr rcr,r0r>rArrrr!r!ws GM- Orr!c*d|vrd|z}t|S)N.z jsonschema.r)names r_resolve_name_with_defaultrhs $t#  rzJSON Schema Validation CLI) descriptionz-iz --instanceappend instancesz a path to a JSON instance (i.e. filename.json) to validate (may be specified multiple times). If no instances are provided via this option, one will be expected on standard input. )actiondesthelpz-Fz--error-formata the format to use for each validation error message, specified in a form suitable for str.format. This string will be passed one formatted object named 'error' for each ValidationError. Only provide this option when using --output=plain, which is the default. If this argument is unprovided and --output=plain is used, a simple default representation will be used. )rnz-oz--outputrrz an output format to use. 'plain' (default) will produce minimal text with one line for each error, while 'pretty' will produce more detailed human-readable output on multiple lines. )choicesdefaultrnz-Vz --validatorz the fully qualified object name of a validator to use, or, for validators that are registered with jsonschema, simply the name of the class. )rFrnz --base-uriz a base URI to assign to the provided schema, even if it does not declare one (via e.g. $id). This option can be used if you wish to resolve relative references to a particular URI (or local path) z --versionversion jsonschema)rlrqschemaz=the path to a JSON Schema to validate with (i.e. schema.json)cttj|xsdg}|ddk7r|drtjd|ddk(r |dd|d<|S)Nz--helpargsrrrz3--error-format can only be used with --output plainz"{error.instance}: {error.message} )varsparser parse_argsr3)rvr$s rryrysrV&&D,>XJ&?@Ig%)N*Cll A  g%)N*C*K$I .! rcd}|j|D]}d}|j|||s|j||S)NFTrWr3)rW) iter_errorsr>rA)rWinstance validator outputterinvalidr3s r_validate_instancersVG&&x0M""e"LM $$=$A Nrr_cVtjtt|y)Nru)r$)r-exitrunryrus rmainrsHHS:40 12rctj||| j|d}|d}| t |} |j ||drj|d}}n fd}dg}|d t|d | nd} ||| } d } |D]} || } | t| | |  z} | S#t$rYywxYw#t $r }j|d|Yd}~yd}~wwxYw#t$rd} YjwxYw)N)r$rr rsr_r~r{rkc tjS#t$r5}jdt j t |d}~wwxYw)Nr^r')r.r/rr0r-r)r)_r3rstdins rr/zrun..loadsR 3yy''" 3''"S\\^(&'U2  3s A0AAr^base_uri)rreferrer)resolverr)rWr}r~r) rr%r/rr check_schemar r>r r)r$rr rrs Validatorr3r/rkrr~ exit_codeeachr}rs ` @rrrst))*I  ( 34+&I!&) v&#..)K*@i 3K :  *:&15 &84II  DzH +"!##  I  c  ""#H- #  < I s;B;C C6; CC C3C..C36 DD))__doc__ importlibrr.rpkgutilrtextwraprargparser-rNwarningsattrsrr jsonschema.exceptionsr jsonschema.validatorsr r warnDeprecationWarning Exceptionrrr"r!rhArgumentParserrx add_argumentrqryrargvrrr rrrrrrs  -=   : i &I&I&IR&<&<&