bg=tddlmZddlmZddlmZiZdZd dZGddeZGd d eZ d S) )full11)tiny12)patternc@t|t|zSN)str)profiledebugs d/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/svgwrite/validator2.py cache_keyr s w<<#e** $$Tc tt||S#t$rY|dkrt|}n&|dvrt |}nt d|z|tt||<|cYSwxYw)z Validator factory tiny)fullbasicnonezUnsupported profile: '%s')validator_cacher KeyErrorTiny12ValidatorFull11Validator ValueError)r r validators r get_validatorrs y%8899  f  '..II 1 1 1'..II87BCC C5> '5112sA B?BcheZdZdZddZdZdZdZdZdZ dd Z d Z d Z d Z dZdZdZeZdS)rzTiny 1.2Tc||_tj|_tj|_tj|_dSr)r r attributeselements TypeChecker typecheckerselfr s r __init__zTiny12Validator.__init__&3  + !-//r ch|D]\}}||||dS)z Check if attributes are valid for object 'elementname' and all svg attributes have valid types and values. Raises ValueError. N)itemscheck_svg_attribute_value)r! elementnamer attributenamevalues r check_all_svg_attribute_valuesz.Tiny12Validator.check_all_svg_attribute_values,sM%/$4$4$6$6 N N M5  * *; u M M M M N Nr c`|||||||dS)z Check if 'attributename' is valid for object 'elementname' and 'value' is a valid svg type and value. Raises ValueError. N)_check_valid_svg_attribute_name_check_svg_value)r!r'r(r)s r r&z)Tiny12Validator.check_svg_attribute_value6s8 ,,[-HHH k=%@@@@@r c  |j|}||D] }|j||rdS!t |}|||vrt d|d|d|ddS)z Checks if 'value' is a valid svg-type for svg-attribute 'attributename' at svg-element 'elementname'. Raises TypeError. N'z&' is not a valid value for attribute 'z' at svg-element <>.)r get_typesrcheckr get_const TypeError)r!r'r(r) attributetypenamevaluestrs r r-z Tiny12Validator._check_svg_value@sOM2 !++K88  H%%h66  u::9..{;;;;)chchchjwjwjwzEzEzEFGG G<;r c^|||std|d|ddS)z~ Check if 'attributename' is a valid svg-attribute for svg-element 'elementname'. Raises ValueError. zInvalid attribute '' for svg-element is not valid for selected profile: ''.)rr profilenamer!r's r _get_elementzTiny12Validator._get_elementZsW n=- - n n n(kkk[_[k[k[klmm m ns &5stringcf|j||r|St|d|d)zZ Check if 'value' matches svg type 'typename'. Raises TypeError. z is not of type 'r=)rr2r4r!r)r6s r check_svg_typezTiny12Validator.check_svg_type`s@   ! !(E 2 2 KLIJJ Jr c8|j||Sr)rr2rCs r is_valid_svg_typez!Tiny12Validator.is_valid_svg_typeks%%h666r c||jvS)z4 True if 'elementname' is a valid svg-element name. )rr?s r is_valid_elementnamez$Tiny12Validator.is_valid_elementnamensdm++r c>||}||jvS)za True if 'attributename' is a valid svg-attribute for svg-element 'elementname'. )r@valid_attributes)r!r'r(elements r r:z&Tiny12Validator.is_valid_svg_attributers%##K00 888r c>||}||jvS)zf True if svg-element 'childrenname' is a valid children of svg-element 'elementname'. )r@valid_children)r!r' childrennamerKs r is_valid_childrenz!Tiny12Validator.is_valid_childrenys%##K00w555r c^|||std|d|ddS)z Checks if svg-element 'childrenname' is a valid children of svg-element 'elementname'. Raises ValueError. zInvalid children 'r9r0N)rOr)r!r'rNs r check_valid_childrenz$Tiny12Validator.check_valid_childrensI %%k<@@ j*lll\g\g\ghii i j jr c|tdt|ttfr|df}nqtj|}|r(|\}}}t|}ntd|z||f}|j |dr|Sd|j z}t|d|d)zk Split value in (number, unit) if value has an unit or (number, None). Raises ValueError. NzInvalid type 'None'.z#'%s' is not a valid svg-coordinate.rz SVG %s %sz is not a valid number for: .) r4 isinstanceintfloatr coordinatematchstripgroupsrr is_number get_version)r!r)resultnumbertmpunitversions r get_coordinatezTiny12Validator.get_coordinates =233 3 ec5\ * * $T]FF'--ekkmm<r"r*r&r-r,r@rDrFrHr:rOrQrb get_lengthr r rr#sK0000 NNNAAAGGG"lllnnn K K K K777,,,999666jjjUUU. JJJr rceZdZdZddZdS)rzFull 1.1Tc||_tj|_tj|_tj|_dSr)r rrrrrr s r r"zFull11Validator.__init__r#r Nrc)rdrerfr>r"rhr r rrs-K000000r rNrc) svgwrite.datarrrrr robjectrrrhr r rms! !!!!!!%%%    } } } } } f} } } @00000o00000r