B #as@sdZddlmZddlmZmZddlmZmZmZddlm Z m Z ddZ e dZ d d Z d d Zed krddlZddlmZejejedZedeejedddZedeejedddZeejdS)z7 $Id: tzfile.py,v 1.8 2004/06/03 00:15:24 zenzen Exp $ )datetime)unpackcalcsize) StaticTzInfo DstTzInfomemorized_ttinfo)memorized_datetimememorized_timedeltacCs |dS)z5Cast a string or byte string to an ASCII byte string.ASCII)encode)sr 2/tmp/pip-target-jgxl_w8r/lib/python/pytz/tzfile.py _byte_string srcCst|dS)z0Cast a string or byte string to an ASCII string.r )strdecode)r r r r _std_stringsrc!Cs|d}t|}t|||\}}}}}} } } |tdksHtdt|dt| d| | d} t| } t| || }t|d| d| d kstd d |d| D}t|| d| }|d| d }|d }~g}i}d }x|t|krl||d}||kr>| t |}|d kr*t|}t |||||<| ||t ||d ||f|d7}qWt|d kst|d kr|d d |d dft|tft|t|d d |d dd}nd }x||d r|d 7}qW||||d krtj|d <n|d tj|d |g}x&tt|D]}|||}|d }|d snd }nx2t|d d d D]}|||}|d sPqW|d |d }|d ks|dkrxNt|d t|D]8}|||}|d s|d |d }|d krPqW|d} t|ddd}t|ddd}| t||| qDWt|tft|||d}|S)Nz >4s c 15x 6lZTZifz Got magic %sz2>%(timecnt)dl %(timecnt)dB %(ttinfo)s %(charcnt)dsZlBB)timecntttinfocharcntcSsg|] }t|qSr )r).0Ztransr r r )sz build_tzinfo..r)zoneZ _utcoffsetZ_tznamei0*<)r_utc_transition_timesZ_transition_info)rrreadrAssertionErrorreprdictlenlistfind_NULLrappendbooltyperr rmininsertrangeintrr)!rfpZhead_fmtZ head_sizemagicformatZ ttisgmtcntZ ttisstdcntZleapcntrZtypecntrZdata_fmtZ data_sizedataZ transitionsZlindexesZ ttinfo_rawZ tznames_rawrZtznamesiZ tzname_offsetnulclsZtransition_infoinf utcoffsetdstjZprev_infZstdinftznamer r r build_tzinfos                     r<__main__N)pprintZzoneinfozAustralia/MelbourneZ AustraliaZ Melbournerbz US/EasternZUSZEastern)__doc__rstructrrZ pytz.tzinforrrrr rr(rr<__name__os.pathosr>pathjoindirname__file__baseopentzr r r r rs" e