‡Æ
PUó9c    	   sX  d  Z  d Z d Z d k Z d k Z d k Z d k Z d k Z d k Z e	 Z
 d Z d Z d Z d Z d Z d	 Z d
 Z d Z d d d d „ Z d „  Z d f  d „  ƒ  YZ d „  Z d „  Z d „  Z d „  Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d  „  ƒ  YZ d S(!   s   Blocks and Records.
s2   $Id: Blocks.py,v 1.6 1999/11/29 06:57:17 rob Exp $s.   Copyright 1999 Rob Tillotson <robt@debian.org>Ns   *s   bs   ss   is   fs   ts   Ts   [c    s}   |  d j o t Sne t |  ƒ }  t i t i |  d ?d |  d ?d @|  d @t | ƒ t | ƒ t | ƒ d d d f	 ƒ ƒ Sd	 S(
   s-   Convert a PalmOS 2-byte date to a time tuple.iÿÿ  i	   ip  i   i   i   i    i   N(	   s   ds   Nones   ints   times	   localtimes   mktimes   hours   minutes   second(   s   ds   hours   minutes   seconds8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   palm_date_to_tuple4 s
      i    c    s[   |  d d j o |  d d d >} n |  d d d >} | |  d d >B|  d B} | Sd	 S(
   s?   Convert the date part of a time tuple to a PalmOS integer date.i    il  ip  i	   i   i   i   i   N(   s   ts   d(   s   ts   ds8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   tuple_to_palm_date? s     s   Blockc      sž   d  Z  d d „ Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d	 „  Z d
 „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z e i d d „ Z RS(   s”   Generic superclass for 'Things Which Can Be Packed And Unpacked',
    including but not limited to database records, appblocks, sortblocks,
    etc.c    s   h  |  _ t |  d ƒ o8 x1 |  i i ƒ  d r } |  i | d |  i | <q+ Wn
 h  |  _ | |  _ | o |  i | ƒ n d  S(   Ns   fieldsi    i   (   s   selfs   datas   hasattrs   fieldss   keyss   xs   raws   unpack(   s   selfs   raws   xs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __init__N s    	  		 s    c    s2   d |  i i |  i o t |  i ƒ p d f Sd  S(   Ns   <%s len %s>i    (   s   selfs	   __class__s   __name__s   raws   len(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __repr__X s    c    s   | |  _  d  S(   N(   s   raws   self(   s   selfs   raws8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   unpack\ s    c    s   |  i Sd  S(   N(   s   selfs   raw(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   pack_ s    c  	  sF   t  t i | f t t t i |  i	 g t
 | ƒ | ƒ ƒ ƒ } | Sd  S(   N(   s   applys   structs   packs   fmts   tuples   maps   operators   getitems   selfs   datas   lens   namess   r(   s   selfs   fmts   namess   rs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys
   packfieldsc s
    	c    s6   t  t i |  i g t | ƒ | t i | | ƒ ƒ d  S(   N(   s   maps   operators   setitems   selfs   datas   lens   namess   structs   unpacks   fmts   r(   s   selfs   fmts   namess   rs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   unpackfieldsj s    c    s   |  i | Sd  S(   N(   s   selfs   datas   k(   s   selfs   ks8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __getitem__n s    c    s   | |  i | <d  S(   N(   s   vs   selfs   datas   k(   s   selfs   ks   vs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __setitem__o s    c    s   |  i i | | ƒ Sd  S(   N(   s   selfs   datas   gets   ks   d(   s   selfs   ks   ds8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   getp s    c    s   |  i i ƒ  Sd  S(   N(   s   selfs   datas   keys(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   keysq s    c    s   |  i i ƒ  Sd  S(   N(   s   selfs   datas   values(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   valuesr s    c    s   |  i i ƒ  Sd  S(   N(   s   selfs   datas   items(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   itemss s    c    s   |  i i | ƒ Sd  S(   N(   s   selfs   datas   has_keys   k(   s   selfs   ks8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   has_keyt s    c    s   t  |  i ƒ  ƒ Sd  S(   N(   s   lens   selfs   pack(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __len__v s    c    sƒ   t  i |  i | ƒ | o |  i o[ | i d ƒ |  i i ƒ  } | i
 ƒ  x. | d r$ } | i d | |  i | f ƒ qS Wn d  S(   Ns	   
fields:
i    s	     %s: %s
(   s   debugs   dump_raws   selfs   raws   fs   verboses   fieldss   writes   keyss   flds   sorts   ks   data(   s   selfs   fs   verboses   flds   ks8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   dumpx s    
	 i    (   s   __doc__s   __init__s   __repr__s   unpacks   packs
   packfieldss   unpackfieldss   __getitem__s   __setitem__s   gets   keyss   valuess   itemss   has_keys   __len__s   syss   stdouts   dump(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   BlockJ s     
												c    s   t  i |  d ƒ d Sd  S(   Ns    i    (   s   strings   splits   s(   s   ss8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys	   trim_null„ s    c    sj   t  |  ƒ | d j o |  | d  }  n |  d }  t  |  ƒ | j  o |  d | t  |  ƒ }  n |  Sd  S(   Ni   s    (   s   lens   ss   l(   s   ss   ls8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   pad_null‡ s    
 c    s&  h  d g d d <d g d d <d g d d <d d <} t i d | d	  ƒ d } x‘ t d d ƒ d r~ } | d
 | >@o d
 | d | <n t | d	 | d d | d !ƒ | d | <t t i d | d | ƒ d ƒ | d | <qk Wt t i d | d ƒ d ƒ | d <|  i
 | ƒ d Sd  S(   Ni    i   s   categoryRenameds    s   categoryNames
   categoryIDs   categoryLastUniqueIDs   >Hi   i   i   s   >Bi  i  i  (   s   ds   structs   unpacks   raws   rs   ranges   is	   trim_nulls   ints   dicts   update(   s   dicts   raws   ds   rs   is8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   unpack_category_appinfoŽ s    ? +0$c    s¶   d } d } d } xm t d d ƒ d rZ } |  d | o | d | >B} n | t |  d | d ƒ } | t |  d | ƒ } q$ Wt i	 d | ƒ | | t i	 d	 |  d
 ƒ d Sd  S(   Ni    s    i   s   categoryRenamedi   s   categoryNames
   categoryIDs   >Hs   >Bs   categoryLastUniqueIDs      (
   s   rs   namess   idss   ranges   is   ds   pad_nulls   chrs   structs   pack(   s   ds   rs   namess   idss   is8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   pack_category_appinfo  s     s   Recordc      sD   d  Z  d d d d d d „ Z d „  Z d „  Z e i d d „ Z RS(   s   Generic database record type.c    sŽ   t  i |  | ƒ | d @d j |  _ | d @d j |  _ | d @d j |  _ | d @d j |  _ | d @d j |  _	 | |  _
 | |  _ | |  _ d  S(   Ni€   i    i@   i    i   i   (   s   Blocks   __init__s   selfs   raws   attrs   deleteds   modifieds   busys   secrets   archiveds   categorys   indexs   id(   s   selfs   raws   indexs   ids   attrs   categorys8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __init__° s    		s    i    c    s†   d } |  i o | d B} n |  i o | d B} n |  i o | d B} n |  i o | d B} n |  i o | d B} n | Sd  S(   Ni    i€   i@   i    i   i   (   s   as   selfs   deleteds   modifieds   busys   secrets   archived(   s   selfs   as8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys
   attributes» s    
 
 
 
 
 c    sÍ   d |  i i |  i |  i |  i f } |  i o | d } n |  i o | d } n |  i	 o | d } n |  i
 o | d } n |  i o | d } n | d |  i o t |  i ƒ p d } | Sd  S(	   Ns   <%s #%s id %06x cat %ss    dels    mods    busys    secs    arcs   len %s>i    (   s   selfs	   __class__s   __name__s   indexs   ids   categorys   ss   deleteds   modifieds   busys   secrets   archiveds   raws   len(   s   selfs   ss8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __repr__Ä s    %
 
 
 
 
 (c    s"  |  i ƒ  |  i ƒ  } | i d |  i t |  i ƒ |  i	 |  i
 | f ƒ | o¯ g  } |  i o | i d ƒ n |  i o | i d ƒ n |  i o | i d ƒ n |  i o | i d ƒ n |  i o | i d ƒ n | i d t i | ƒ d ƒ n | i d	 ƒ t i |  | | ƒ d  S(
   Ns-   #%d, %d bytes, cat %d, id 0x%06x, attr 0x%02xs   deleteds   modifieds   busys   secrets   archiveds    (s   )s   
(   s   selfs   packs
   attributess   as   fs   writes   indexs   lens   raws   categorys   ids   ans   deleteds   appends   modifieds   busys   secrets   archiveds   strings   joins   Blocks   dumps   verbose(   s   selfs   fs   verboses   as   ans8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   dumpÏ s$    
2
 
 
 
 
 "(   s   __doc__s   __init__s
   attributess   __repr__s   syss   stdouts   dump(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   Record® s
    			s   AppBlockc      s#   d  Z  d „  Z e i d d „ Z RS(   s—   Generic AppBlock type.  By default, an AppBlock is treated as
    just a hunk of raw data; this class is only provided for the sake
    of consistency.c    s2   d |  i i |  i o t |  i ƒ p d f Sd  S(   Ns   <%s len %s>i    (   s   selfs	   __class__s   __name__s   raws   len(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __repr__ç s    c    s;   |  i ƒ  | i d t |  i ƒ ƒ t i |  | | ƒ d  S(   Ns   appinfo: %d bytes
(	   s   selfs   packs   fs   writes   lens   raws   Blocks   dumps   verbose(   s   selfs   fs   verboses8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   dumpë s    
i    (   s   __doc__s   __repr__s   syss   stdouts   dump(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   AppBlockã s    	s   CategoryAppBlockc      s#   d  Z  d „  Z d „  Z d „  Z RS(   s+   An AppBlock with built-in category support.c    s¯   t  |  d ƒ o h  |  _ n |  i i h  t d g d d d f d <t d g d d d f d <t d g d d d f d <t d f d <ƒ t t i |  f | | ƒ d  S(	   Ns   fieldss    i   s   categoryNamei    s
   categoryIDs   categoryRenameds   categoryLastUniqueID(   s   hasattrs   selfs   fieldss   updates   FLD_LISTs   FLD_BOOLEANs   applys   AppBlocks   __init__s   as   kw(   s   selfs   as   kws8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __init__ò s    sc    s'   | |  _  t |  i | ƒ } | | Sd  S(   N(   s   raws   selfs   unpack_category_appinfos   datas   l(   s   selfs   raws   ls8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   unpackþ s    	c    s   t  |  i ƒ Sd  S(   N(   s   pack_category_appinfos   selfs   data(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   packs    (   s   __doc__s   __init__s   unpacks   pack(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   CategoryAppBlockð s    		s	   SortBlockc      s   d  Z  e i d d „ Z RS(   s˜   Generic SortBlock type.  By default, a SortBlock is treated as
    just a hunk of raw data; this class is only provided for the sake
    of consistency.c    s;   |  i ƒ  | i d t |  i ƒ ƒ t i |  | | ƒ d  S(   Ns   sortinfo: %d bytes
(	   s   selfs   packs   fs   writes   lens   raws   Blocks   dumps   verbose(   s   selfs   fs   verboses8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   dumps    
i    (   s   __doc__s   syss   stdouts   dump(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys	   SortBlocks    s   Resourcec      s5   d  Z  e d d d „ Z d „  Z e i d d „ Z RS(   s   Generic resource type.c    s&   t  i |  | ƒ | |  _ | |  _ d  S(   N(   s   Blocks   __init__s   selfs   raws   types   id(   s   selfs   raws   types   ids8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __init__s    	s       i    c    sD   d |  i i t |  i ƒ |  i |  i o t |  i ƒ p d f Sd  S(   Ns   <%s %s %s len %s>i    (   s   selfs	   __class__s   __name__s   reprs   types   ids   raws   len(   s   selfs8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __repr__s    c    sP   |  i ƒ  | i d t |  i ƒ |  i t |  i ƒ f ƒ t	 i
 |  | | ƒ d  S(   Ns"   resource type %s, id %s, %d bytes
(   s   selfs   packs   fs   writes   reprs   types   ids   lens   raws   Blocks   dumps   verbose(   s   selfs   fs   verboses8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   dumps    
/(   s   __doc__s   Nones   __init__s   __repr__s   syss   stdouts   dump(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   Resources    	s	   PrefBlockc      s2   d  Z  d d d d d d „ Z e i d d „ Z RS(   s   Generic AppPref block.c    s8   t  i |  | ƒ | |  _ | |  _ | |  _ | |  _ d  S(   N(   s   Blocks   __init__s   selfs   raws   creators   ids   versions   backup(   s   selfs   raws   creators   ids   versions   backups8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   __init__%s
    			s    s       i    c    sr   |  i ƒ  | i d t |  i ƒ |  i |  i f ƒ |  i o | i d ƒ n | i d ƒ t	 i
 |  | | ƒ d  S(   Ns(   preference creator %s, id %d, version %ds   , backups   
(   s   selfs   packs   fs   writes   reprs   creators   ids   versions   backups   Blocks   dumps   verbose(   s   selfs   fs   verboses8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   dump,s    
)
(   s   __doc__s   __init__s   syss   stdouts   dump(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys	   PrefBlock#s    (    s   __doc__s   __version__s   __copyright__s   strings   operators   structs   times   syss   debugs   Nones   FLD_UNKNOWNs   FLD_ANYs   FLD_BOOLEANs
   FLD_STRINGs   FLD_INTs	   FLD_FLOATs   FLD_TIMEs
   FLD_TIME_Ts   FLD_LISTs   palm_date_to_tuples   tuple_to_palm_dates   Blocks	   trim_nulls   pad_nulls   unpack_category_appinfos   pack_category_appinfos   Records   AppBlocks   CategoryAppBlocks	   SortBlocks   Resources	   PrefBlock(    s8   /mit/python/lib/python2.0/site-packages/Pyrite/Blocks.pys   ? s4   -			:				5	