³ò
àŸÔPc           @   s×  d  Z  d d k Td d k Z e i ƒ  d d k Z d d k Z d d k Z d d k Z d d k Z d „  Z	 e	 e _
 d d" d „  ƒ  YZ e ƒ  Z d d# d „  ƒ  YZ d	 d$ d
 „  ƒ  YZ d d% d „  ƒ  YZ e ƒ  Z d d& d „  ƒ  YZ e ƒ  Z d „  Z d e f d „  ƒ  YZ d d' d „  ƒ  YZ e ƒ  Z d „  Z d „  Z d „  Z d „  Z d „  Z e e d ƒ ƒ i e i d ƒ d( Z  d „  Z! d „  Z" d „  Z# e i$ d e d  ƒ ƒ e i% e# ƒ e& Z' e( Z& e) d d! ƒ d S()   sÐ   
es.py

Core EventScripts module that powers much of ES/Python integration.

Documentation for public methods in this module:
http://python.eventscripts.com/pages/es

Minimum compatible ES version: 2.1.1.337
iÿÿÿÿ(   t   *Nc         C   sH   t  i |  | | ƒ } t d d ƒ x | D] } t d | d  ƒ q) Wd  S(   Ni    s%   *** EventScripts caught an exception:iÿÿÿÿ(   t	   tracebackt   format_exceptiont   dbgmsg(   t   type1t   value1t
   traceback1t   mystrt   x(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   excepter   s
     t   SourceServerc           B   s`   e  Z e i d  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d d	 d „  ƒ  YZ
 d „  Z RS(
   s   (?:"[^
"]+"|[^;
"]+)+c         C   s   t  | ƒ d S(   sJ    Inserts a command at the beginning of Valve's console command queue.
    N(   t   InsertServerCommand(   t   selft   command(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt	   insertcmd#   s    
c         C   s1   |  i  i | ƒ } x | D] } t | ƒ q Wd S(   s    Inserts a command at the beginning of Valve's console command queue and
        then forces it to be executed right away.
    N(   t	   splitcmdst   findallt   ForceServerCommand(   R   R   t   splittert   cmd(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   (   s
     c         C   s   t  | ƒ d S(   sC    Appends a command to the end of Valve' console command queue.
    N(   t   ServerCommand(   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   queuecmd0   s    
c         C   s   t  | ƒ d  S(   N(   t   printmsg(   R   t   msg(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   5   s    c         C   s   t  | ƒ d  S(   N(   t   log(   R   t   logstr(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   7   s    t   CommandProxyc           B   s    e  Z d  Z d „  Z d „  Z RS(   sS    Class to pretend to be a direct access function for console
        commands.
    c         C   s.   t  d | ƒ o | |  _ n t d | ‚ d S(   s[    The name of the console command. Raises an exception if it
          doesn't exist.
      R   s   No command called: %sN(   t   existst   namet	   NameError(   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __init__>   s    c         G   sc   |  i  } xI | D]A } | d 7} t | t ƒ o | | i 7} q | t | ƒ 7} q Wt | ƒ d S(   s3    If the command proxy is invoked, call back.
      t    N(   R   t
   isinstancet	   ServerVart   getNamet   strR   (   R   t   argst   outputt   arg(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __call__F   s    	 
(   t   __name__t
   __module__t   __doc__R   R'   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   :   s   	c         C   s:   y |  i  | ƒ SWn" t j
 o } t d | ‚ n Xd  S(   Ns-   SourceServer has no command or attribute '%s'(   R   R   t   AttributeError(   R   R   t   e(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __getattr__Q   s    (    (   R(   R)   t   ret   compileR   R   R   R   R   R   R   R-   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR
   !   s   					t
   EntityPropc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   s4   | |  _  | |  _ t | ƒ |  _ t | ƒ |  _ d  S(   N(   t	   _propnamet   indext   getpropoffsett   _propoffsett   getproptypet	   _proptype(   R   R2   t   propname(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   [   s    		c         C   s   t  |  i |  i |  i ƒ S(   N(   t   getentitypropoffsetR2   R4   R6   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   getVal`   s    c         C   s   t  |  i ƒ  ƒ S(   N(   R#   R9   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __str__b   s    c         C   s   t  |  i ƒ  ƒ S(   N(   t   floatR9   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt	   __float__d   s    c         C   s   t  |  i ƒ  ƒ S(   N(   t   intR9   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __int__f   s    c         C   s   |  i  S(   N(   R1   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR"   h   s    c         C   s   |  i  S(   N(   R2   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   getIndexj   s    c         C   s    t  |  i |  i |  i | ƒ d  S(   N(   t   setentitypropoffsetR2   R4   R6   (   R   t   value(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   setl   s    c         C   st   t  | t ƒ o t |  ƒ | f SnM t  | t ƒ o t |  ƒ | f Sn) t  | t ƒ o t |  ƒ | f Sn d  Sd  S(   N(   R    R#   R=   R;   t   None(   R   t   other(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt
   __coerce__o   s    (   R(   R)   R   R9   R:   R<   R>   R"   R?   RB   RE   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR0   Z   s   								R!   c           B   sƒ   e  Z d  d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z	 d
 „  Z
 d „  Z d „  Z d „  Z d „  Z RS(   i    t    c         C   s1   | |  _  t d | ƒ p t | | | ƒ n d  S(   Nt   variable(   t   _nameR   RB   (   R   R   t   defaultvaluet   description(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   {   s    	c         C   s   t  |  i ƒ S(   N(   t	   getStringRH   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR:   €   s    c         C   s   t  |  i ƒ S(   N(   t   getFloatRH   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR<   ‚   s    c         C   s   t  |  i ƒ S(   N(   t   getIntRH   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR>   „   s    c         C   s   t  t |  i ƒ ƒ S(   N(   t   boolRL   RH   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __nonzero__†   s    c         C   s   |  i  S(   N(   RH   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR"   ˆ   s    c         C   sb   t  | t ƒ o t |  i | ƒ n; t  | t ƒ o t |  i | ƒ n t |  i t | ƒ ƒ d  S(   N(   R    R=   t   setIntRH   R;   t   setFloatt	   setStringR#   (   R   RA   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRB   Š   s    c         C   s˜   t  | t ƒ o t |  ƒ | f Snq t  | t ƒ o t |  ƒ | f SnM t  | t ƒ o t |  ƒ | f Sn) t  | t ƒ o t |  ƒ | f Sn d  Sd  S(   N(   R    R#   RN   R=   R;   RC   (   R   RD   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRE   ’   s    c         C   s=   | } t  | t ƒ o | i } n t |  i t | ƒ ƒ d  S(   N(   R    R!   RH   t   copyR#   (   R   t   sourcet	   sourcevar(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRS      s    c         C   s   t  |  i ƒ d  S(   N(   t
   makepublicRH   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRV   £   s    c         C   s   t  d | |  i ƒ d  S(   Nt   add(   t   flagsRH   (   R   t   flagname(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   addFlag¥   s    c         C   s   t  d | |  i ƒ d  S(   Nt   remove(   RX   RH   (   R   RY   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt
   removeFlag§   s    c         C   s   t  |  i ƒ d  S(   N(   t   forcecallbacksRH   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR]   ©   s    (   R(   R)   R   R:   R<   R>   RO   R"   RB   RE   RS   RV   RZ   R\   R]   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR!   z   s   											t   SourceServerVariablesc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s
   t  | ƒ S(   N(   R!   (   R   t   var(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt	   getObject­   s    c         C   s   |  i  | ƒ S(   N(   R`   (   R   R_   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __getitem__¯   s    c         C   sp   t  | ƒ t j o t | | ƒ nI t  | ƒ t j o t | | ƒ n% t  | ƒ t j o t | | ƒ n d  S(   N(   t   typeR=   RP   R#   RR   R;   RQ   (   R   R_   RA   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __setitem__±   s    (   R(   R)   R`   Ra   Rc   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR^   ¬   s   		t   SourceEventVariablesc           B   s   e  Z d  „  Z RS(   c         C   s
   t  | ƒ S(   N(   t   getEventInfo(   R   R_   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRa   ½   s    (   R(   R)   Ra   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRd   ¼   s   c         C   s	   |  GHd  S(   N(    (   t   string(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR%   Â   s    t	   AddonInfoc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sG   t  t |  ƒ i |  ƒ d d d g |  _ d |  _ d |  _ d |  _ d  S(   NR   t   versiont   urls   Unknown Addons   0.0RF   (   t   superRg   R   t   keylistR   Rh   Ri   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   Æ   s
    		c         C   s   |  | S(   N(    (   R   t   s(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR-   Ì   s    c         C   s?   | d j o$ | |  i  j o |  i  i | ƒ n | |  | <d  S(   NRk   (   Rk   t   append(   R   Rl   RA   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   __setattr__Î   s    (   R(   R)   R   R-   Rn   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRg   Å   s   		t   AddonManagerc           B   sæ   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sC   g  |  _  h  |  _ h  |  _ g  |  _ g  |  _ g  |  _ t |  _ d  S(   N(   t	   AddonListt   EventListenerst   Blockst   TickListenerst   SayListenerst   ClientCommandFilterst   Falset   skipsay(   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR   Õ   s    						c         C   sç   | i  d } | i } | i d ƒ d j o | | i d ƒ d } n | |  i j o{ |  i i | ƒ | i  i d ƒ o | i ƒ  n | i  i d ƒ o | i ƒ  n t d | j o d n d d | ƒ n t d d	 | ƒ d  S(
   Nt   __scriptpatht   .i    i   t   loadt   enablet   corelibs   [EventScripts] Loaded %ss$   [EventScripts] %s was already loaded(	   t   __dict__R(   t   findRp   Rm   t   has_keyRz   R{   R   (   R   t   addont
   scriptpathR   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRz   Ý   s    	)c         C   s@   | |  i  j o |  i  i | ƒ n t d d | i d ƒ d  S(   Ni    s    [EventScripts] %s was not loadedRx   (   Rp   R[   R   R}   (   R   R€   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   unloadë   s    c         C   s   | i  ƒ  d  S(   N(   t   disable(   R   R€   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRƒ   õ   s    c         C   s   | i  ƒ  d  S(   N(   R{   (   R   R€   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR{   ø   s    c         C   sD   x= |  i  D]2 } | d | i | i | i | i | i f ƒ q
 Wd  S(   Ns1     Name: %s %s
  Desc: %s
Author: %s
Contact: %s

(   Rp   t   Namet   Versiont   Descriptiont   Authort   Contact(   R   t
   outputfuncR   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   listû   s    
 c         C   s9   |  i  i | ƒ p h  |  i  | <n | |  i  | | <d  S(   N(   Rq   R   (   R   t   listenert	   eventnamet   callback(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   registerForEventÿ   s    c         C   sH   |  i  i | ƒ p d  Sn |  i  | i | ƒ o |  i  | | =n d  S(   N(   Rq   R   (   R   R‹   RŒ   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   unregisterForEvent  s    c         C   s   |  i  i | ƒ p d  Sn xn |  i  | D]_ } | i i d ƒ p | i o: y |  i  | | t ƒ Wqˆ t i t i ƒ  Œ  qˆ Xq) q) Wd  S(   NRƒ   (   Rq   R   R}   t   disabledt	   event_vart   syst
   excepthookt   exc_info(   R   RŒ   R‹   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   triggerEvent
  s     c         C   s   |  i  i | ƒ o d n d S(   Ni   i    (   Rq   R   (   R   RŒ   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   hasEvent  s    c         C   s   x |  i  D] } | ƒ  q
 Wd  S(   N(   Rs   (   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   tick  s    
 c      	   C   sœ   |  i  p d Sn g  } x* t t ƒ  ƒ D] } | i t | ƒ ƒ q( WxP |  i  D]E } y" | | | ƒ } | p d Sn WqO t i t i ƒ  Œ  qO XqO Wd S(   s±    ES will call this whenever anyone sends a client command.
        All handlers are queried to see if they want to handle it,
        if they eat it, they just return False
    i   i    (   Ru   t   ranget   cmdargcRm   t   cmdargvR’   R“   R”   (   R   t   useridt   argvt   it	   cmdfiltert   response(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   clientCommand  s    
 
 c         C   s(   | |  i  j o |  i  i | ƒ n d  S(   N(   Ru   Rm   (   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   registerClientCommandFilter+  s    c         C   s(   | |  i  j o |  i  i | ƒ n t S(   N(   Ru   R[   t   True(   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   unregisterClientCommandFilter.  s    c         C   sù   |  i  o t |  _  t SnÛ | } | } | } x\ |  i D]Q } y. | | | | ƒ \ } } } | p t Sn Wq7 t i t i ƒ  Œ  q7 Xq7 W| | j o" | | j o | | j o t Sn; t |  _  | o t | d | ƒ n t | d | ƒ t Sd S(   sË    ES will call this whenever anyone says anything!
          Return userid, text, and newteam after your filter is done.
          Return a userid of 0 if you want the text to be eaten and done with.
    s   say_team %ss   say %sN(   Rw   Rv   R¢   Rt   R’   R“   R”   t   sexec(   R   R›   t   fulltextt   teamonlyt	   newuseridt   newtextt   newteamonlyR‹   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt	   sayFilter2  s*    
	
 '	c         C   s(   | |  i  j o |  i  i | ƒ n d  S(   N(   Rt   Rm   (   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   registerSayFilterN  s    c         C   s   |  i  i | ƒ t S(   N(   Rt   R[   R¢   (   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   unregisterSayFilterQ  s    c         C   s-   |  i  i | ƒ p d  Sn |  i  | ƒ  d  S(   N(   Rr   R   (   R   t	   blockname(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt	   callBlockT  s    c         C   s;   | |  i  j o |  i  i | ƒ n t t |  i  ƒ ƒ d  S(   N(   Rs   Rm   t   setNumRegisteredt   len(   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   registerTickListenerY  s    c         C   s'   |  i  i | ƒ t t |  i  ƒ ƒ d  S(   N(   Rs   R[   R¯   R°   (   R   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   unregisterTickListener]  s    c         C   s   | |  i  | d | <d  S(   Nt   /(   Rr   (   R   t	   addonnameR­   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   registerBlock`  s    c         C   s9   |  i  i | d | ƒ p d  Sn |  i  | d | =d  S(   NR³   (   Rr   R   (   R   R´   R­   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   unregisterBlockb  s    c         C   s   |  i  S(   N(   Rp   (   R   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   getAddonListf  s    c         C   s|   t  | ƒ \ } } xc |  i ƒ  D]U } | i | j o? x7 | i D], } t | i | t ƒ o | i | Sq? q? WPq q Wd  S(   N(   t   _getModuleAddonImportNameR·   R(   R}   R    Rg   RC   (   R   R   t   endnamet
   importnameR€   t   item(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   getAddonInfoh  s     
 	(   R(   R)   R   Rz   R‚   Rƒ   R{   R%   RŠ   RŽ   R   R•   R–   R—   R    R¡   R£   Rv   Rª   R«   R¬   R®   R±   R²   Rµ   R¶   R·   R¼   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyRo   Ô   s0   			
																			c         C   sR   t  |  ƒ \ } } x, t i ƒ  D] } | i | j o | Sq q Wt d |  ‚ d S(   sE    Returns the module for the addon you specified (if it's loaded)
    s(   %s is not loaded and cannot be imported.N(   R¸   t   addonsR·   R(   t   KeyError(   R   R¹   Rº   R€   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   import_addonu  s     c         C   s;   |  |  i  d ƒ d } |  i d d ƒ d | } | | f S(   NR³   i   Ry   (   t   rfindt   replace(   t
   modulenameR¹   Rº   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyR¸   ~  s    c         C   sP  t  |  ƒ \ } } d t d ƒ |  | f } d t d ƒ |  | f } d t d ƒ |  | f } t i i | ƒ p# t i i | ƒ p t i i | ƒ } | o¬y' t d t d ƒ |  f d ƒ i ƒ  Wn; t j
 o/ } t d d |  ƒ t d	 d
 | ƒ d	 Sn Xy9 t	 | ƒ } | t
 i j o t d d |  ƒ d	 Sn Wn0 t j
 o$ }	 t d d |  |	 f ƒ d	 Sn Xx5 | | i d ƒ d	 i d ƒ D] }
 | i |
 } qŽWx~ | i D]s } t | i | ƒ i d j oP | d d	 !d j o8 t
 i |  | | i | ƒ t
 i | | | i | ƒ q"q¯q¯W|  | i d <t
 i | ƒ d	 Sn d Sd  S(   Ns   %s/%s/%s.pyt   eventscripts_addondirs   %s/%s/%s.pycs   %s/%s/%s.pyos   %s/%s/__init__.pyt   ai    s   Error: Could not open addon: %si   s   Error Details: %ss   Addon %s already loaded.s   Can't load addon (%s): %sRy   t   functiont   _Rx   (   R¸   R!   t   ost   pathR   t   opent   closet   IOErrorR   t
   __import__R½   Rp   t   ImportErrorR~   t   splitR}   Rb   R(   Rµ   RŽ   Rz   (   RÂ   R¹   Rº   t	   checkfilet
   checkfile2t
   checkfile3t   bPresentR,   t   newaddont   blaht   jt   f(    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   loadModuleAddonŠ  sB    8'		! 
 &c      
   C   sJ  t  d d |  ƒ |  |  i d ƒ d } |  i d d ƒ d | } | t i i ƒ  j oÝ t | ƒ } x5 | | i d ƒ d i d ƒ D] } | i	 | } q… Wt
 i | ƒ xj | i	 D]_ } t | i	 | ƒ i d j o< | d d !d j o$ t
 i |  | ƒ t
 i | | ƒ qq³ q³ Wt i | =t  d d |  ƒ n t  d d	 |  ƒ d  S(
   Ni    s   [EventScripts] Unloading %s...R³   i   Ry   RÅ   RÆ   s#   [EventScripts] %s has been unloadeds    [EventScripts] %s was not loaded(   R   RÀ   RÁ   R’   t   modulest   keysRÌ   R~   RÎ   R}   R½   R‚   Rb   R(   R¶   R   (   RÂ   R¹   Rº   RÓ   RÕ   RÖ   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   unloadModuleAddon´  s$    ! 
 
c          C   s  xt  i ƒ  D]ö }  d } d } y |  i } WnF y |  i } Wqu y |  i } Wqq d |  i d } qq Xqu Xn Xy |  i o
 d } n d } Wn n Xt d d | | f ƒ y9 x2 |  i i	 D]$ } t d d | |  i | f ƒ qÄ WWq t
 j
 o q Xq Wd  S(	   Ns	   (unknown)t   enableds
   (unknown: t   )R   i    s   [EventScripts]   [%8s] %ss   [EventScripts]    %8s: %s(   R½   R·   Rx   R(   R„   R:   RÛ   R   t   infoRk   R+   (   t   scriptt	   scriptoutRÛ   RÕ   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   printScriptListÌ  s6     


 &t   eventscripts_gamediri   i    c           C   s   t  S(   N(   t	   _gamename(    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   getGameNameê  s    c         C   s   d t  d ƒ |  f S(   Ns   %s/%sRÃ   (   R!   (   R€   (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   getAddonPathí  s    c           C   s   t  i t t d ƒ ƒ ƒ S(   s6    Returns the server's local language abbreviation
    t   eventscripts_language(   t   langlibt   getLangAbbreviationR#   R!   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pyt   local_languageð  s    s   %s/_libs/python/deflangs.iniRÃ   s   [EventScripts] es.py loaded.(    (    (    (    (    (    iÿÿÿÿ(*   R*   t   es_Ct   psycot   fullRÇ   R’   R   Ræ   R.   R	   R“   R
   t   serverR0   R!   R^   t
   server_varRd   R‘   R%   t   dictRg   Ro   R½   R¿   R¸   R×   RÚ   Rà   R#   t   rsplitt   sepRâ   Rã   Rä   Rè   t   loadLanguagest   setDefaultLangCallbackt   menut   _esshell_menut   showMenuR   (    (    (    s<   /home/saberrider/srcds/css/cstrike/addons/eventscripts/es.pys   <module>
   sH   

		6	 2			Ÿ					*		%			