
    iZ                     B    d Z ddlZddlmZmZmZ  G d de          ZdS )u   系统信息 Skill。    N)	SkillBaseSkillContextSkillResultc                   V    e Zd ZdZdZdZg dZdedefdZ	defdZ
defd	Zdefd
ZdS )SystemSkillu$   获取系统负载和资源信息。systemu!   获取系统负载和资源信息)z/sysz/systemz/loadctxreturnc                 (  K   |j         }|r|d         dk    rt          dd          S |d         }|dk    r|                                 S |dk    r|                                 S |dk    r|                                 S t          dd	| d
          S )Nr   helpFu   用法: /system [load|disk|mem]successoutputloaddiskmemu   未知命令: u    
用法: /system [load|disk|mem])argsr   	_get_load	_get_disk_get_memory)selfr	   r   cmds       9/root/projects/qq-shell/src/butler/skills/system_skill.pyexecutezSystemSkill.execute   s      x 	XtAw&((u5VWWWW1g&==>>###F]]>>###E\\##%%%51h#1h1h1hiiii    c                     	 t          j        dgddd          }t          d|j                                                  S # t
          $ r}t          dd|           cY d }~S d }~ww xY w)NuptimeT   capture_outputtexttimeoutr   Fu   获取系统负载失败: 
subprocessrunr   stdoutstrip	Exceptionr   resultes      r   r   zSystemSkill._get_load    s    	W^XJt$XYZZZFtFM4G4G4I4IJJJJ 	W 	W 	Wu5URS5U5UVVVVVVVVV	Ws   A A 
A+A& A+&A+c                     	 t          j        g dddd          }t          d|j                                                  S # t
          $ r}t          dd|           cY d }~S d }~ww xY w)N)df-h/Tr   r   r   Fu   获取磁盘信息失败: r#   r)   s      r   r   zSystemSkill._get_disk'   s    	W^$5$5$5dQU_`aaaFtFM4G4G4I4IJJJJ 	W 	W 	Wu5URS5U5UVVVVVVVVV	W   AA 
A,A'!A,'A,c                     	 t          j        ddgddd          }t          d|j                                                  S # t
          $ r}t          dd|           cY d }~S d }~ww xY w)	Nfreer.   Tr   r   r   Fu   获取内存信息失败: r#   r)   s      r   r   zSystemSkill._get_memory.   s    	W^VTN4d\]^^^FtFM4G4G4I4IJJJJ 	W 	W 	Wu5URS5U5UVVVVVVVVV	Wr0   N)__name__
__module____qualname____doc__namedescriptiontriggersr   r   r   r   r   r    r   r   r   r      s        ..D5K+++Hj j+ j j j j"W; W W W WW; W W W WW[ W W W W W Wr   r   )r6   r$   butler.skills.baser   r   r   r   r:   r   r   <module>r<      ss          C C C C C C C C C C+W +W +W +W +W) +W +W +W +W +Wr   