*ė
üŅ;c       s     d  k  Z  d  k Z d  k Z  d k T d Z  d Z  e  i i e i e  Z	  e  i i e	 e  Z
  h  a   d   Z ' d   Z . e d  Z 1 d   Z 4 e d  Z ? d	   Z I d
   Z N g  Z P d   Z X d   Z ] d   Z e d   Z | d   Z d  S(   N(   s   *s   configs   .pmailc    sG     ! t  i i t |   } " t  i i |  o # | Sn % |  Sd  S(   N(   s   oss   paths   joins   datadirs   names   pdirs   exists(   s   names   pdir(    (    s(   /mit/python/share/pmail/config/Config.pys   get_file  s   c    sE   ' ( |  i |  } ) | o * h  } + | |  | <n , | Sd  S(   N(   s   dicts   gets   names   classd(   s   dicts   names   classd(    (    s(   /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   defa(    (    s(   /mit/python/share/pmail/config/Config.pys   getWindowParam. s   c    s#   1 2 t  d |  i   | |  d  S(   Ns   windows(   s   setParams   windows   names   val(   s   windows   names   val(    (    s(   /mit/python/share/pmail/config/Config.pys   setWindowParam1 s   c    sy   4 5 |  o 6 t } n 8 t t |   } 9 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   ress   sub(    (    s(   /mit/python/share/pmail/config/Config.pys   getParam4 s   c    sP   ? @ |  o A t } n C t t |   } D t | |  } E | | | <d  S(   N(   s	   classNames   configs   classds   getCDicts   subNames   subs   values   name(   s	   classNames   subNames   names   values   classds   sub(    (    s(   /mit/python/share/pmail/config/Config.pys   setParam? s
   c      s2   I J t  i i t  o K 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    sT   P Q h  } R |  | d <S | | d <T | | d <U | | d <V 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   hook(    (    s(   /mit/python/share/pmail/config/Config.pys   register_config_hookP s   	c    sN   X Y xA t  d Y r4 } Z | i |   } [ | o [ | |    n q Wd  S(   Ni    (   s   _config_hookss   hooks   gets   names   f(   s   names   fs   hook(    (    s(   /mit/python/share/pmail/config/Config.pys   run_config_hooksX s
    	
 c    s   ] ^ x{ | i   d ^ rh \ } } _ |  i |  } ` | t j o t |  t h   j o a t	 | |  n c | |  | <q Wd  S(   Ni    (
   s   rights   itemss   keys   vals   lefts   gets   ls   Nones   types   __deep_update_dict(   s   lefts   rights   ls   keys   val(    (    s(   /mit/python/share/pmail/config/Config.pys   __deep_update_dict] s    )c     sĪ   e f g t    h t d  i d }  j yN k t t d  } m t i |  } o t	 t
 |  p | i   q d }  Wn< r t j
 o- s t i i t  o t d t GHn n Xv t d  w |  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   c(    (    s(   /mit/python/share/pmail/config/Config.pys   load_confige s   
	c     sĪ   | } t  d  ~ y  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 X t  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   f(    (    s(   /mit/python/share/pmail/config/Config.pys   save_config| s   (   s   oss   users   pickles   pathss   __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   __config_rc_file_names   get_files   oss   getWindowParams   config_rc_paths   _config_hookss   getCDicts   setup_config_dirs   run_config_hookss   __config_dir_names
   config_dirs   getParams   pickles   users   load_configs   __deep_update_dicts   register_config_hooks   save_configs   setParams   setWindowParam(    (    s(   /mit/python/share/pmail/config/Config.pys   ? s&   !
			
	