Ë
    ¨Ü–i·  ã                   ó^   — d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ e G d„ d«      «       Zy)	é    )ÚString)ÚMapped)Údeclarative_mixin)Úmapped_column)Ú
PackageURLc                   óp  — e Zd ZU dZ e ed«      dd¬«      Zee   e	d<    e ed«      dd	¬«      Z
ee   e	d
<    e ed«      dd¬«      Zee   e	d<    e ed«      dd¬«      Zee   e	d<    e ed«      dd¬«      Zee   e	d<    e ed«      dd¬«      Zee   e	d<   edefd„«       Zdefd„Zdeddfd„Zy)ÚPackageURLMixinzS
    SQLAlchemy declarative mixin class for Package URL "purl" fields support.
    é   FzÀA short code to identify the type of this package. For example: gem for a Rubygem, docker for a container, pypi for a Python Wheel or Egg, maven for a Maven Jar, deb for a Debian package, etc.)ÚnullableÚcommentÚtypeéÿ   TzaPackage name prefix, such as Maven groupid, Docker image owner, GitHub user or organization, etc.Ú	namespaceéd   zName of the package.ÚnamezVersion of the package.Úversioni   zYExtra qualifying data for a package such as the name of an OS, architecture, distro, etc.Ú
qualifierséÈ   z=Extra subpath within a package, relative to the package root.ÚsubpathÚreturnc                 óX   — 	 | j                  «       }t        |«      S # t        $ r Y yw xY w)zd
        Return the Package URL "purl" string.

        Returns
        -------
        str
        Ú )Úget_package_urlÚ
ValueErrorÚstr)ÚselfÚpackage_urls     úg/var/www/html/content-pipeline/venv/lib/python3.12/site-packages/packageurl/contrib/sqlalchemy/mixin.pyr   zPackageURLMixin.package_urlM   s6   € ð	Ø×.Ñ.Ó0ˆKô ;ÓÐøô ò 	Ùð	ús   ‚ 	)¨)c                 óš   — t        | j                  | j                  | j                  | j                  | j
                  | j                  «      S )zb
        Get the PackageURL instance.

        Returns
        -------
        PackageURL
        )r   r   r   r   r   r   r   )r   s    r   r   zPackageURLMixin.get_package_url\   s;   € ô ØI‰IØN‰NØI‰IØL‰LØO‰OØL‰Ló
ð 	
ó    r   Nc                 ó¾   — t        |t        «      st        j                  |«      }|j                  dd¬«      }|j	                  «       D ]  \  }}t        | ||«       Œ y)zÆ
        Set or update the PackageURL object attributes.

        Parameters
        ----------
        package_url: PackageURL
            The PackageURL object to set get attributes from.
        Tr   )ÚencodeÚemptyN)Ú
isinstancer   Úfrom_stringÚto_dictÚitemsÚsetattr)r   r   Úpackage_url_dictÚkeyÚvalues        r   Úset_package_urlzPackageURLMixin.set_package_urlm   s\   € ô ˜+¤zÔ2Ü$×0Ñ0°Ó=ˆKà&×.Ñ.°dÀ"Ð.ÓEÐØ*×0Ñ0Ó2ò 	&‰JˆCÜD˜#˜uÕ%ñ	&r    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   Ú__annotations__r   r   r   r   r   Úpropertyr   r   r   r,   © r    r   r	   r	   #   s  … ññ &Ùˆr‹
Øð-ô		€Dˆ&‰+ó 	ñ +Ùˆs‹Øð0ô	€Iˆvc‰{ó ñ &¡f¨S£k¸EÐKaÔb€Dˆ&‰+ÓbÙ(Ùˆs‹˜dÐ,Eô€GˆVC‰[ó ñ ,Ùˆt‹Øð)ô	€Js‘ó ñ )Ùˆs‹ØØOô€GˆVC‰[ó ð ð ˜Sò  ó ð ð
 ó 
ð"&¨:ð &¸$ô &r    r	   N)	Ú
sqlalchemyr   Úsqlalchemy.ormr   r   r   Ú
packageurlr   r	   r3   r    r   ú<module>r7      s2   ðõ6 Ý !Ý ,Ý (å !ð ÷W&ð W&ó ñW&r    