N
üŌ;c       sÔ   k  Z  k Z k Z k l d  Z d Z e  i i e i	 e  Z
 e  i i e
 e  Z h  Z d   Z d   Z e d  Z d   Z e d  Z d   Z d   Z g  Z d	   Z d
   Z d   Z d   Z d   Z d S(   s   configs   .pmailc    s8   t  i i t |   } t  i i |  o | Sn |  Sd  S(   N(   s   oss   paths   joins   datadirs   names   pdirs   exists(   s   names   pdirs(   /mit/python/share/pmail/config/Config.pys   get_file  s    c    s3   |  i |  } | o h  } | |  | <n | Sd  S(   N(   s   dicts   gets   names   classd(   s   dicts   names   classds(   /mit/python/share/pmail/config/Config.pys   getCDict' s
    c    s   t  d |  i   | |  Sd  S(   Ns   windows(   s   getParams   windows   names   defa(   s   windows   names   defas(   /mit/python/share/pmail/config/Config.pys   getWindowParam. s    c    s   t  d |  i   | |  d  S(   Ns   windows(   s   setParams   windows   names   val(   s   windows   names   vals(   /mit/python/share/pmail/config/Config.pys   setWindowParam1 s    c    s^   |  o
 t } n t t |   } t | |  } | i |  } | t	 j o
 | } n | Sd  S(   N(   s	   classNames   configs   classds   getCDicts   subNames   subs   gets   names   ress   Nones   default(   s	   classNames   subNames   names   defaults   classds   subs   ress(   /mit/python/share/pmail/config/Config.pys   getParam4 s    

c    s>   |  o
 t } n t t |   } t | |  } | | | <d  S(   N(   s	   classNames   configs   classds   getCDicts   subNames   subs   values   name(   s	   classNames   subNames   names   values   classds   subs(   /mit/python/share/pmail/config/Config.pys   setParam? s
    
c      s)   t  i i t  o t  i t  n d  S(   N(   s   oss   paths   existss
   config_dirs   mkdir(    s(   /mit/python/share/pmail/config/Config.pys   setup_config_dirI s    c    s?   h  } |  | d <| | d <| | d <| | d <t i |  d  S(   Ns   pre_loads	   post_loads   pre_saves	   post_save(   s   hooks   pre_loads	   post_loads   pre_saves	   post_saves   _config_hookss   append(   s   pre_loads	   post_loads   pre_saves	   post_saves   hooks(   /mit/python/share/pmail/config/Config.pys   register_config_hookP s    



c    s<   x5 t  d r+ } | i |   } | o | |    n q	 Wd  S(   Ni    (   s   _config_hookss   hooks   gets   names   f(   s   names   hooks   fs(   /mit/python/share/pmail/config/Config.pys   run_config_hooksX s
    	  c    ss   xl | i   d r\ \ } } |  i |  } | t j o t |  t h   j o t	 | |  n | |  | <q Wd  S(   Ni    (
   s   rights   itemss   keys   vals   lefts   gets   ls   Nones   types   __deep_update_dict(   s   lefts   rights   keys   vals   ls(   /mit/python/share/pmail/config/Config.pys   __deep_update_dict] s     &c     s   t    t d  d }  y? t t d  } t i |  } t	 t
 |  | i   d }  Wn3 t j
 o' t i i t  o d t GHn n Xt d  |  Sd  S(   Ns   pre_loadi    s   ri   s!   Invalid config file(%s), ignorings	   post_load(   s   setup_config_dirs   run_config_hookss   ress   opens   config_rc_paths   fs   pickles   loads   cs   __deep_update_dicts   configs   closes   IOErrors   oss   paths   exists(   s   ress   fs   cs(   /mit/python/share/pmail/config/Config.pys   load_confige s     



c     sĒ   t  d  yp t t d d  }  t i t |   |  i   t i	 i
 t  o t i t t d  n t i t d t  Wn t j
 o d t   GHn Xt  d  d  S(   Ns   pre_saves   .tmps   ws   .baks    Error writing to config file: %ss	   post_save(   s   run_config_hookss   opens   config_rc_paths   fs   pickles   dumps   configs   closes   oss   paths   existss   renames   IOErrors
   configPath(   s   fs(   /mit/python/share/pmail/config/Config.pys   save_config| s    

N(   s   oss   users   pickles   pathss   *s   __config_rc_file_names   __config_dir_names   paths   joins   homes
   config_dirs   config_rc_paths   configs   get_files   getCDicts   Nones   getWindowParams   setWindowParams   getParams   setParams   setup_config_dirs   _config_hookss   register_config_hooks   run_config_hookss   __deep_update_dicts   load_configs   save_config(    s(   /mit/python/share/pmail/config/Config.pys   ? s&   				
					