o
    *b                     @   s4   d dl mZ d dlmZ d dlZG dd deZdS )    )UbuntuPlugin)DebianPolicyNc                       s|   e Zd ZdZdZddgZdZdZdZdZ	dZ
	
		d fdd	ZedddZdd Z fddZdd Z fddZ  ZS )UbuntuPolicyUbuntuZ	Canonical)zCommunity Websitezhttps://www.ubuntu.com/)zCommercial Supportzhttps://www.canonical.comzb/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/sbin:/usr/local/bin:/snap/binz,https://files.support.canonical.com/uploads/ZubuntuZputNTc                    s,   t t| j||||d |  jtg7  _d S )N)sysrootinitprobe_runtimeremote_exec)superr   __init__Zvalid_subclassesr   )selfr   r   r   r	   	__class__ =/usr/lib/python3/dist-packages/sos/policies/distros/ubuntu.pyr      s
   zUbuntuPolicy.__init__ c                 C   sb   |r| j |v S ztdd}d| v W  d   W S 1 sw   Y  W dS  ty0   Y dS w )z[This method checks to see if we are running on Ubuntu.
           It returns True or False./etc/lsb-releaserr   NF)distroopenreadIOError)clsZremotefpr   r   r   check$   s   

(zUbuntuPolicy.checkc                 C   s   z:t dd*}| }|D ]}d|v r&|dd    W  d   W S qW d   W dS 1 s3w   Y  W dS  tyD   Y dS w )z7 Returns the version stated in DISTRIB_RELEASE
        r   r   ZDISTRIB_RELEASE=   NF)r   	readlinessplitstripr   )r   r   linesliner   r   r   dist_version2   s    
zUbuntuPolicy.dist_versionc                    s(   | j | jr| j| jfS tt|  S N)
upload_url
startswith_upload_url_upload_user_upload_passwordr
   r   get_upload_https_authr   r   r   r   r)   ?   s   z"UbuntuPolicy.get_upload_https_authc                 C   s   | j | jr	dS |  S )NzCanonical Support File Server)r$   r%   r&   get_upload_urlr*   r   r   r   get_upload_url_stringE   s   z"UbuntuPolicy.get_upload_url_stringc                    sJ   | j r
| j | jr| js| jS tj| j}| j| S tt| 	  d S r#   )
r$   r%   r&   Zupload_archive_nameospathbasenamer
   r   r+   )r   fnamer   r   r   r+   K   s   
zUbuntuPolicy.get_upload_url)NNTN)r   )__name__
__module____qualname__r   ZvendorZvendor_urlsPATHr&   r'   r(   Z_upload_methodr   classmethodr   r"   r)   r,   r+   __classcell__r   r   r   r   r      s(    r   )Zsos.report.pluginsr   Zsos.policies.distros.debianr   r-   r   r   r   r   r   <module>   s   