python3-warlock-1.3.3-1.oe2003sp4>  <@PT@7!.ܶujG7oe$#openeuler@compass-ci.com G7o8W ~]*_oI8ξրS/y@nKwkC2xݛNyK5'\fix1lw4W+) bmfD<?d $ ]   + 1 8       4    tFp < @ (v89:FGH4IXY\]$^ bdefl t(u|vw8xyz0@DJCpython3-warlock1.3.31.oe2003sp4Python object model built on JSON schema and JSON patch. [![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock] [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock] [![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats] [![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds] [![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls] Warlock is [available on PyPI][warlock]: ```shell pip install warlock ``` 1) Create your schema ```python >>> schema = { 'name': 'Country', 'properties': { 'name': {'type': 'string'}, 'abbreviation': {'type': 'string'}, 'population': {'type': 'integer'}, }, 'additionalProperties': False, } ``` 2) Create a model ```python >>> import warlock >>> Country = warlock.model_factory(schema) ``` 3) Create an object using your model ```python >>> sweden = Country(name='Sweden', abbreviation='SE') ``` 4) Let the object validate itself ```python >>> sweden.name = 5 Traceback (most recent call last): File "", line 1, in File "warlock/core.py", line 53, in __setattr__ raise InvalidOperation(msg) warlock.core.InvalidOperation: Unable to set 'name' to '5' >>> sweden.overlord = 'Bears' Traceback (most recent call last): File "", line 1, in File "warlock/core.py", line 53, in __setattr__ raise InvalidOperation(msg) warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears' ``` 5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes ```python >>> sweden.population=9453000 >>> sweden.patch '[{"path": "/population", "value": 9453000, "op": "add"}]' ``` [warlock]: https://pypi.org/project/warlock/ [pip]: https://pip.pypa.io/en/stable/ [ci-builds]: https://travis-ci.org/bcwaldon/warlock [coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master [pypistats]: https://pypistats.org/packages/warlocke$#dc-64g.compass-ciYApache-2.0http://openeuler.orgUnspecifiedhttp://github.com/bcwaldon/warlocklinuxnoarch`u*""eezAA큤e$#e$#e$#e$#e$#e$#e$#e$#e$#\ᱮe$#e$#e$#e$#e$#e$#e$#e$#\H\ᱮ\Hedb54bc6d4008dd519b175ebec6421ee98c8b50b54d5390743461c02a94ebaff25188321d28438cf20f2eebfcc777f5f4f8f9e543eb31f95af2f39b3e1d58746e74f8bc407edf830febac2a2a825f6bbc9c2a03ec5a080a31490da9a59f25391460277c6cacfc2f6d5e857645e622dcce49d87bb73d920a1a99b0c8aa013752c01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bf162f55770ae154de0f32071a5d72f105f644cb55df144921abf7323bdba10269ce0a0ce5542e6eacac474249264fd4f97a9c92011faae4644487e1cf112f8beffc723433270ac4af9dfe7c8099cbd02d5dca533f8f768a42f079b5d213bcb7dd2195376e3da6fe5f0ddca69e60a706f647a8045808cfa6d9e1347196c45c205d2195376e3da6fe5f0ddca69e60a706f647a8045808cfa6d9e1347196c45c205fb5a8f7de401597ab23ba1a9e6fa496d6fe7568fb976d253ad5374423931d859fb5a8f7de401597ab23ba1a9e6fa496d6fe7568fb976d253ad5374423931d859913213b24ee3b73329e8b24c84db23db9e386f05215219b5d4a1ac74a1a28d14913213b24ee3b73329e8b24c84db23db9e386f05215219b5d4a1ac74a1a28d14fb065637bf010dd3b0ad5987aab54d67e2a69bc2a6d6945ee41248b0c84ff869fb065637bf010dd3b0ad5987aab54d67e2a69bc2a6d6945ee41248b0c84ff869c0606c7569d963ba09c0d42ef782c7d7f09e704332bfca7a8cc9b0b58650b5a2985738d8e17bf56e54afcc0c5218592031a282e18bbae7d68968ff939f4f159305b8f4d9e2f68a526465da78f2522d492a8108c536d824a43d34bce9d397b9c6rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-warlock-1.3.3-1.oe2003sp4.src.rpmpython-warlockpython3-warlockpython3.7dist(warlock)python3dist(warlock)@@ @@ @@     python(abi)python3.7dist(jsonpatch)python3.7dist(jsonpatch)python3.7dist(jsonschema)python3.7dist(jsonschema)python3.7dist(six)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.70.1020.743.0.4-14.6.0-14.0.4-14.0-15.2-14.15.1_@Python_Bot - Package Spec generateddc-64g.compass-ci 1696867268 1.3.3-1.oe2003sp41.3.31.3.30-metadata_list-compact_tlv-python3-warlock-1.3.3-1.oe2003sp4.noarch0-metadata_list-compact-python3-warlock-1.3.3-1.oe2003sp4.noarchwarlockwarlock-1.3.3-py3.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txt__init__.py__init__.cpython-37.opt-1.pyc__init__.cpython-37.pyccore.cpython-37.opt-1.pyccore.cpython-37.pycexceptions.cpython-37.opt-1.pycexceptions.cpython-37.pycmodel.cpython-37.opt-1.pycmodel.cpython-37.pyccore.pyexceptions.pymodel.py/etc/ima/digest_lists.tlv//etc/ima/digest_lists//usr/lib/python3.7/site-packages//usr/lib/python3.7/site-packages/warlock-1.3.3-py3.7.egg-info//usr/lib/python3.7/site-packages/warlock//usr/lib/python3.7/site-packages/warlock/__pycache__/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection cpioxz2noarch-openEuler-linux-gnudirectoryUTF-8 Unicode textASCII textPython script, ASCII text executablepython 3.7 byte-compiled PPRRRRRRRRRRRRRRRRRRRa?r2:utf-8ddb22837265f43249204291a77df402be343eaa2b19f8ba4402a4af2d42d7df0?@7zXZ !#,i] b2u Q{LW].h h˸_yqP#\]4O*eS|Svq&qv |@Fih=GD&]fX4ԏRu5dth"Ψ߸AO`Nqgط|C\ h)*-TBQ+|kGO_ *Gp3q{ZUX? a&_fuzY@J*rC&*C{/yBJӽ)́uئe\quyj c}&?HV [!2CԐd+(Lr/nƟA[cϑ R[;Wvtţ!aÁ=PrζrύK# W5s\.ܚYa4tlYp,S( H-pD.3ܩv"J`l gkHoÏ Txg*=X| NNpzp5_Vq16ݞVծױ ~'XCqsC:_`?$Sz_:]]))06lo'g82DV=,u78!U-P_"u61l2$˼@ sْ1%:j-mSbuK}hŶ鉋}B}]lTs絛r_hiZ'N6믉2@7L Л 6&{S@<ɶWC-$"SMFG]% LRn|$IS5&,t| Ϯ^}2JEǫtZobr!/ѐ&tuP5C =jiC҂tEd9D/$ (x,rq60%bF|Ny u^ȠC/q:+LSRu6Õf\8^0X<9Cߊo {Dv2dɜH #U$ !||n^93D&a,(+ÎJI%}M cmpw,P@~8iSG@uIwwqN{d~p;\9$Fq=Si5 t{b戍?yVtC4 LwI!!Li9pV?U-X,'*a\Y8|=} @g~ҠHR$}yuGЪ__r`Nۖח7Rꨫ2펾Kiz\1er(c ۼRNz QZV?tR?#HxAvڞ 9 VF>k4paY-u484Mi+ {g$EZGcpMkSG8n% =M,`O6Zh&"'vU"m~piU21C;,8Q^pwV鮍- JɎ ΀d0?8ĭCЇa?^,[!$?";Zv8xӺC̡m>/asb#2gwFfsBe9ʏ9!AslFW2 j(aE@.1+oqJD4;ac})5:Ѥp@>^O_9pSzZÅ6 rW;RɄEsAmJ[9g1Wm./,Ȱffx&U\]ܥ~QA_ |qqw|Xf`~ׯ5<< X{/7lOon6 *kh܌&i:AO1S<%˫? $‘ !mY泩!F01Y(fh`,2ƺ{$p M5ȐaQ!I|\)Cdhr&7*4hyi,I gR#oQ\Ue4<m5N_ƱcUW5_ÉL)wCZlCssTC:~\1aT T}OBEZx?LRW"|E)oՐ۲r..ԇvm S~`wuh+t) SyKH!v,B.ՋVpYgͬah1L._gK.% Gn'zXnHTlʾ&sS}idijO-*\T-;rK:CQ3vPey+ekofKzPz[CEV4K(68B9WchuW A :܌-M,?eXD V0| iRs~h!EqK6689VS^MEjP = ZL>1r'l2Y}A.Ro}_*׀Aӏ~eJLJ.Dэ #:?).fФ=lKF-G>LڳʅW5IL>!93 f`mm?@^!L11& wؔPG َENuH.PY 7`1vH EiR D]g;é/"=Ff4 )ze4 >fAwb)9ǃp=!fNog* ٿ"oq v%+ PwgS<(|wDRZ]UZ9ˀqv_R9o-H2{z(}IX62렞T_1+3ɜ|=C.VB5(z QZp]GE?%40h8Q0Df82$$Q20gGkݞgd'mm?tKZ@%+v?gQ^C*)*t5Z̨Kg@þ5!LWhgRzK^y邶/d&w1?pЇ)<J4iÐ cGˈ5ÿze ץnrl 7%jJKeK-I#Ke׵8 UA|ʞ ܊z^L 0tgL( }+nXm9nw2]Bf]̞'@a7A˓ Kfё䔜;:F ϐ]"Ty76$z|aG$ΡdG@ eɜv=q\qOE(q J\1PC~x WAsҀ iz蘿Xg_W}VCCP[8MzR_RJ*5(],!#zI#vIdeaY혠Y]3$?f&*AFD`׆dm D \X.j w7eiU4NГ[$ *;b,ipxAi!poFR =)%9!g9VL(8EXV5f`&i=)?I3uju@6Q昤TRqkJ)\X\9C#;du9'im.o8UL h[a_Ĥ#Rs\8sS]3K BI<@* mt|a q3x]/FD=8d"5)_1&\l_P~gAmYUqR9OV:4r΅< +6&}gϘr( lPܝ[ZQG%1{new/>y(a CKP4T :q cup_Җ =DFwk%FgvvZMvBghJAH[v ܊c{HK?źqKqHV%% $ВhdaGʊA%s @U8F.&W=yr+2Mh=)׍b1mh[ ւ@4ad zڛ pw (^T.%XCCW$=r@LnEm{A8ھ(ъ.si*4@0?f l %>{@zuۘ w{]\0Vjc?:P:rW-LdFRŤ,wu]iD>EAd|OXD(ޱdU#&jtRh#(4#_BO82npSoeEfZ]Ayr8/@-.)ؿՋh3#]22FAzeQpq1W lG},AVɼno#k/wsTZ6eOux\h4˳v߁!?MzxfY'\Xd\Rؙmq1uH< u/~uyo.OdK#4̎ݏp Y땲袐bE/ɄfkobWQy$B05`tvnjesҼᤑJ5Ѹ8mXGA#dY >{ 1^ᴸ#4vkĠ~hHm* :pXR6"Pz.;'2E<y(iI,#nDZ@ܓnǠA!lFi$wvޥӪy傽GQpl\JQ5Ӊ׈QA{Dܸ %Vx$r:Xi8G}><{DB^ L4KoU s>@Rgqp<$ぱ!;6jMuAvȆ>j"\ C O6r_v YZ