o
    ÙKÕiô  ã                   @   s®   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZ G dd„ deƒZG dd	„ d	eeƒZd
efdd„Zded
efdd„Zeddedd�Zdddeg dddœZdS )é    )ÚAPIEndpoint)ÚAdditionalInfo)ÚUAConfig)Ú
DataObjectÚFieldÚIntDataValue)Ú get_installed_packages_by_originc                   @   sª   e Zd Zededd�ededd�ededd�eded	d�ed
edd�ededd�ededd�ededd�ededd�g	Zdedededed
ededededefdd„ZdS )ÚPackageSummaryÚnum_installed_packagesz!Total count of installed packages©ÚdocÚnum_esm_apps_packagesz-Count of packages installed from ``esm-apps``Únum_esm_infra_packagesz.Count of packages installed from ``esm-infra``Únum_main_packagesz)Count of packages installed from ``main``Únum_multiverse_packagesz/Count of packages installed from ``multiverse``Únum_restricted_packagesz/Count of packages installed from ``restricted``Únum_third_party_packagesz4Count of packages installed from third party sourcesÚnum_universe_packagesz-Count of packages installed from ``universe``Únum_unknown_packagesz0Count of packages installed from unknown sourcesc
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _d S ©N©	r
   r   r   r   r   r   r   r   r   )
Úselfr
   r   r   r   r   r   r   r   r   © r   úH/usr/lib/python3/dist-packages/uaclient/api/u/pro/packages/summary/v1.pyÚ__init__9   s   
zPackageSummary.__init__N)Ú__name__Ú
__module__Ú__qualname__r   r   ÚfieldsÚintr   r   r   r   r   r	      s„    ýýýýýýýýý×0þýüûúùø	÷
ör	   c                   @   s$   e Zd Zededd�gZdd„ ZdS )ÚPackageSummaryResultÚsummaryz!Summary of all installed packagesr   c                 C   s
   || _ d S r   ©r!   )r   r!   r   r   r   r   Y   ó   
zPackageSummaryResult.__init__N)r   r   r   r   r	   r   r   r   r   r   r   r    P   s    ýÿr    Úreturnc                   C   s
   t tƒ ƒS r   )Ú_summaryr   r   r   r   r   r!   ]   r#   r!   Úcfgc                 C   sr   t ƒ }tt|d ƒt|d ƒt|d ƒt|d ƒt|d ƒt|d ƒt|d ƒt|d ƒt|d	 ƒd
�	}t|d�S )zg
    This endpoint shows a summary of installed packages in the system,
    categorized by origin.
    Úallzesm-appsz	esm-infraÚmainÚ
multiverseÚ
restrictedzthird-partyÚuniverseÚunknownr   r"   )r   r	   Úlenr    )r&   Úpackagesr!   r   r   r   r%   a   s   








÷
r%   Úv1N)ÚversionÚnameÚfnÚoptions_clsz27.12FzP
from uaclient.api.u.pro.packages.summary.v1 import summary

result = summary()
z!pro api u.pro.packages.summary.v1ad  
{
    "summary":{
        "num_installed_packages": 1,
        "num_esm_apps_packages": 2,
        "num_esm_infra_packages": 3,
        "num_main_packages": 4,
        "num_multiverse_packages": 5,
        "num_restricted_packages": 6,
        "num_third_party_packages": 7,
        "num_universe_packages": 8,
        "num_unknown_packages": 9,
    },
}
)Úintroduced_inÚrequires_networkÚexample_pythonÚresult_classÚ
exceptionsÚexample_cliÚexample_json)Úuaclient.api.apir   Úuaclient.api.data_typesr   Úuaclient.configr   Úuaclient.data_typesr   r   r   Úuaclient.security_statusr   r	   r    r!   r%   ÚendpointÚ_docr   r   r   r   Ú<module>   s.    Hü
õ