B ÉpSe·- ã @ sL d dl Z d dlmZmZmZmZmZmZmZ d dl m Z mZ d dlm Z dd„ Zdd„ Zd d „ Zdd„ Zd d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Z d+d,„ Z!d-d.„ Z"d/d0„ Z#d1d2„ Z$d3d4„ Z%d5d6„ Z&d7d8„ Z'd9d:„ Z(d;d<„ Z)d=d>„ Z*d?d@„ Z+dAdB„ Z,dCdD„ Z-dS )Eé N)Úensure_listÚequalÚ extras_msgÚfind_additional_propertiesÚ types_msgÚunboolÚuniq)ÚFormatErrorÚValidationError)Ú iteritemsc c sn | |d¡sd S xXt|ƒD ]L\}}xBt|ƒD ]6\}}t ||¡r,x | j||||d�D ] }|V qTW q,W qW d S )NÚobject)ÚpathÚschema_path)Úis_typer ÚreÚsearchÚdescend) Ú validatorÚpatternPropertiesÚinstanceÚschemaÚpatternÚ subschemaÚkÚvÚerror© r úG/opt/alt/python37/lib/python3.7/site-packages/jsonschema/_validators.pyr s r c c s@ | |d¡sd S x*|D ]"}x| j||d�D ] }|V q*W qW d S )Nr )r r )r r )r Ú propertyNamesr r Úpropertyr r r r r s r c c sà | |d¡sd S tt||ƒƒ}| |d¡r^x°|D ](}x"| j|| ||d�D ] }|V qJW q0W n~|sÜ|rÜd|krÆt|d ƒ}t|ƒdkrŒd}nd}dd ttt|ƒƒ¡|d tt|ƒ¡f }t |ƒV nd }t |t |ƒ ƒV d S ) Nr )r r é ZdoesÚdoz&%s %s not match any of the regexes: %sz, z8Additional properties are not allowed (%s %s unexpected))r Úsetr r ÚsortedÚlenÚjoinÚmapÚreprr r ) r ZaPr r ÚextrasÚextrar ÚpatternsZverbr r r ÚadditionalProperties) s( r+ c c sš | |d¡sd S | |d¡r`xxtt|ƒ|ƒD ].\\}}}x | j||||d�D ] }|V qLW q,W n6x4t|ƒD ](\}}x| j|||d�D ] }|V q„W qjW d S )NÚarray)r r )r )r ÚzipÚ enumerater )r Úitemsr r ÚindexÚitemr r r r r r/ E s r/ c c sÎ | |d¡r | | di ¡d¡r$d S t| dg ¡ƒ}| |d¡r„xˆt||d … |d�D ](\}}x| j|||d�D ] }|V qpW qVW nF|sÊt|ƒt| dg ¡ƒkrÊd}t|t|t| dg ¡ƒd … ƒ ƒV d S )Nr, r/ r )Ústart)r z3Additional items are not allowed (%s %s unexpected))r Úgetr$ r. r r r )r ZaIr r Z len_itemsr0 r1 r r r r ÚadditionalItemsU s r4 c c s t ||ƒstd|f ƒV d S )Nz%r was expected)r r )r Úconstr r r r r r5 i s r5 c # s<