³ò
šõÜNc           @   sÅ   d  Z  d d k l Z d d k Z d d k l Z d d k l Z d d k l Z d d k	 l
 Z
 d d k l Z d d	 k l Z d d
 k l Z d d k l Z d e f d „  ƒ  YZ e ƒ  Z d S(   sj   
$Rev: 592 $
$LastChangedBy: satoon101 $
$LastChangedDate: 2011-11-22 16:20:03 -0500 (Tue, 22 Nov 2011) $
iÿÿÿÿ(   t   pathN(   t   AddonCFG(   t   delayed(   t   ValidAddons(   t   CvarDefaults(   t   ConfigTypeDictionary(   t   ConfigInstances(   t   LoadedConfigs(   t
   langstringt   _ConfigManagerc           B   sD   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s}   
    Class designed to handle the loading, unloading, and executing of python
    configs coded using cfglib.AddonCFG().
    c         C   s   t  |  _ d S(   s(   Called when the instance is instanciatedN(   t   Falset   _files_have_been_executed(   t   self(    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pyt   __init__,   s    c      	   C   s£   t  i d t d ƒ ƒ x t i D] } |  i | ƒ q  Wx t i D] } |  i | ƒ qA Wt  i d t d ƒ ƒ x t i D] } |  i | ƒ qx Wt d |  i	 ƒ d S(   s=   Loads all "main", "included", and "custom" addon config filesi    t   Load_Configst   Load_CustomConfigsN(
   t   est   dbgmsgR   R   t   maint   _load_configt   includedt   customR   t   _execute_cfg_files(   R   t   cfgfile(    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pyt   _load_configs2   s    
 
 
 c         C   sW   t  | i } xC | i D]8 } t | i | t ƒ p q n t i | i | ƒ q Wd S(   s@   Loads the _config.py file and stores its location to be executedN(   R   t   namebaset   __dict__t
   isinstanceR   R   t   add(   R   R   t   configt   item(    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pyR   Q   s    
 c         C   sI   x2 t  D]* } t i d | i i d d ƒ d ƒ q Wt d |  i ƒ d S(   s   Executes all .cfg files on loadt	   gungame51i   i    N(   R   R   t   mexect   cfgpatht   rsplitR   t   _reload_addons(   R   t   cfg(    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pyR   c   s     (c         C   sg   t  |  _ xW t i D]L } t t i | ƒ ƒ } | d j o$ t i | d ƒ t i | | ƒ q q Wd S(   s   Reloads addons on GunGame loadt   0i    N(	   t   TrueR   R   t   allt   strR   t	   ServerVart
   forcevaluet   set(   R   t   cvart   value(    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pyR#   o   s    	
 c         C   s"   t  i ƒ  t i ƒ  t i ƒ  d S(   s2   Unloads all cfg instances when unloading gungame51N(   R   t   clearR   R   (   R   (    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pyt   _unload_configs„   s    

(	   t   __name__t
   __module__t   __doc__R   R   R   R   R#   R/   (    (    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pyR	   &   s   					(   R2   R    R   t   cfglibR   t
   gamethreadR   t   gungame51.core.addons.validR   t   defaultsR   t
   dictionaryR   t   instanceR   t   loadedR   t"   gungame51.core.messaging.shortcutsR   t   objectR	   t   ConfigManager(    (    (    sT   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/cfg/manager.pys   <module>   s   k