
    ֮i                     f    d dl mZ d dlmZ d dlmZ d dlmZ  ee          Z	 G d d          Z
dS )    )date)HealthDataSync)setup_logger)get_cst_todayc                   0    e Zd Zeddedefd            ZdS )
GarminToolNtarget_datereturnc                 N   	 | rLt          j        |           }t                      }||k     r#t                              d| d| d           |}nt                      }t                              d| d           t                      }|                                 |                    ||d          }g }|	                                D ]@\  }}|
                    dd	          d	k    r!|                    | d
|d          d           A|sd| dS ddlm} |                    |                                          }	d| d
d                    |           d|	 S # t"          $ r9}
t                              d|
            dt'          |
           cY d}
~
S d}
~
ww xY w)z
        Sync health data from Garmin Connect.
        Args:
            target_date: YYYY-MM-DD or None (defaults to today)
        zModel requested sync for z, but defaulting to today ()zStarting Garmin sync for z...T)forcesyncedr   z: z fileszSync complete for z, but no new data found.   )HealthReader)r	   z$Successfully synced Garmin data for z, z.

Latest Stats: zGarmin sync error: zError syncing Garmin: N)r   fromisoformatr   loggerwarninginfor   authenticatesync_all_metricsitemsgetappendhealth_readr   get_daily_detailed_stats	isoformatjoin	Exceptionerrorstr)r	   date_objtodaysyncresultssummary_partsmetricstatsr   latest_statses              //root/projects/butler/slack_bot/tools/garmin.pysync_garminzGarminTool.sync_garmin	   s   #	5 +-k::%e##NN#lx#l#ldi#l#l#lmmm$H(??KKAHAAABBB!##D ++Hhd+KKGM!( O O99Xq))A--!((F)M)MeHo)M)M)MNNN  ONHNNNN 211111'@@XM_M_MaMa@bbL B(  B  BdiiP]F^F^  B  Bs  B  B  B 	5 	5 	5LL2q223334CFF44444444	5s%   DE! AE! !
F$+.FF$F$)N)__name__
__module____qualname__staticmethodr    r+        r*   r   r      sE        )5 )5 )5 )5 )5 )5 \)5 )5 )5r1   r   N)datetimer   health.services.data_syncr   health.utils.logging_configr   health.utils.time_utilsr   r,   r   r   r0   r1   r*   <module>r6      s          4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1	h		+5 +5 +5 +5 +5 +5 +5 +5 +5 +5r1   