
    ܖi
                     Z    d dl mZ d dl mZ d dlmZ defdZdeeeef      dee   fdZy	)
    )Optional)Union)
PackageURL
go_packagec                     | syd}d| v rt        |  d      d| v r| j                  d      \  } }}| j                  d      }|sy|d   }dj                  |dd       }t	        d|||      S )	aC  
    Return a PackageURL object given an imported ``go_package``
    or go module "name version" string as seen in a go.mod file.
    >>> get_golang_purl(go_package="github.com/gorilla/mux v1.8.1")
    PackageURL(type='golang', namespace='github.com/gorilla', name='mux', version='v1.8.1', qualifiers={}, subpath=None)
    N@z should not contain ``@`` /golang)type	namespacenameversion)	Exception
rpartitionsplitjoinr   )r   r   _partsr   r   s         T/var/www/html/content-pipeline/venv/lib/python3.12/site-packages/packageurl/utils.pyget_golang_purlr   !   s     G
 j:,&?@AA
j!+!6!6s!;
AwS!E9Ds$I8ytWUU    valuereturnc                 N    | y t        | t              r| j                  d      S | S )Nzutf-8)
isinstancebytesdecode)r   s    r   
ensure_strr    ;   s(    }%||G$$Lr   N)	typingr   r   
packageurlr   strr   r   r     r   r   <module>r%      sC   6   !V V4huS%Z01 hsm r   