o
    	cj                     @   sd   d dl Z d dlZ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 deZdS )    N)utils)TimedHeartbeatPlugin)text)register_pluginc                   @   s(   e Zd ZdZdZdZdd Zdd ZdS )	BackupPluginbackup_datau*   定时或手动备份打卡图片数据。z08:00c                 C   s   |  |p
| ddS )Nu   /数据备份u   /數據備份)should_run_on_heartbeaton_full_match_any)selfmessage_type r   +/home/dore/onebot/Bot_Ero/plugins/backup.pymatch   s   zBackupPlugin.matchc                 C   s  | j  }| jtd | jtdt| d}d}d}d}t }|D ]}|d }t	j
 d| }	|d ddd	dd
d}
|
dkrO|d7 }q(tj|	dd d}tj|	|
}tj| stj|s| j|d }|dkr| j|d }t||\}}td| |std| q(|d7 }q(d}td|| |d7 }q(d}|d7 }q(t | }|dk r|dd}nt|d  d|d dd}t|}|r|| | | d }nd}d| d| d| d| d| d| d |dd!}| jt| d S )"Nu:   早上好，昨天的打卡关门啦，开始进行备份~u2   找到了{}条打卡记录，正在备份到硬盘r      z/record_images/   { }-remedy_checkinT)exist_oku   成功zdownload {}u   备份失败{}u   QQ图片获取失败u   尝试备份{}, {}u   无需备份<   z.2fu    秒u    分 d   g        u8   备份完成喵
────────
本次耗时：u3   
────────
统计
· 检查记录：u)    条
· 校验通过（本地已有）：u    张
· 新下载备份：u    张
· 备份失败：u#    张
· 补卡（跳过图片）：u6    次
────────
数据安全覆盖率：%)	dbmanagerget_all_recordapisend_msgr   formatlentimeperf_counterruntime_contextpython_data_pathreplaceosmakedirspathjoinexistslower	get_imageget_image_urlr   download_imageprintint)r
   rows
exists_cntsuccess_cnt	error_cnt
remedy_cntt0rowuser_idpython_user_folder
image_nameflagbackup_imageqq_origin_image_nameurlokmsgelapsedduration_texttotalsafe_pctsummaryr   r   r   handle   sr   
 


	zBackupPlugin.handleN)__name__
__module____qualname__namedescriptionRUN_ATr   rE   r   r   r   r   r   
   s    r   )r%   r    core.contextcontextr"   corer   	core.baser   core.cqr   
core.utilsr   r   r   r   r   r   <module>   s    