m(O;RdZddlmZmZmZmZmZdadad dZ dZ d dZ d dZ dZ dS) z>Implementation of the ipaddres-based network types adaptation )new_typenew_array_type register_typeregister_adapter QuotedStringNcddlattatD]}t||tjtjtjtjfD]}t|tdS)a Register conversion support between `ipaddress` objects and `network types`__. :param conn_or_curs: the scope where to register the type casters. If `!None` register them globally. After the function is called, PostgreSQL :sql:`inet` values will be converted into `~ipaddress.IPv4Interface` or `~ipaddress.IPv6Interface` objects, :sql:`cidr` values into into `~ipaddress.IPv4Network` or `~ipaddress.IPv6Network`. .. __: https://www.postgresql.org/docs/current/static/datatype-net-types.html rN) ipaddress_casters _make_castersr IPv4Interface IPv6Interface IPv4Network IPv6Networkradapt_ipaddress) conn_or_curscts /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/psycopg2/_ipaddress.pyregister_ipaddressr%s ?? ''a&&&&%y'>#Y%:<--O,,,,--ctddt}tdd|}tddt}tdd|}||||gS) N)ieINET)izINET[])iCIDR)izCIDR[])rcast_interfacer cast_network)inetainetcidracidrs rr r BsU FFN 3 3D 7Hd 3 3E FFL 1 1D 68T 2 2E %u %%rcX|dStt|SN)r ip_interfacestrscurs rrrLs&yt  ! !#a&& ) ))rcX|dStt|Sr!)r ip_networkr#r$s rrrSs&yt   A ' ''rc:tt|Sr!)rr#)objs rrrYs C ! !!rr!)__doc__psycopg2.extensionsrrrrrr r rr rrrrrr.s4MMMMMMMMMMMMMM   ----:&&&****(((( """""r