ó
Gh\c           @   sF   d  Z  d d l Z y d d l Z Wn n Xd e f d „  ƒ  YZ d S(   s?   Eval python code with global namespace of a python source file.iÿÿÿÿNt	   LocalEvalc           B   s&   e  Z d  Z d d „ Z d d „ Z RS(   s9   Here is a powerfull but very dangerous option, of course.c         C   s|   i  |  _  | d  k	 rx t | d ƒ } t j d | | d d t j f ƒ } x- t | ƒ D] } t | | ƒ |  j  | <qU Wn  d  S(   Nt   rs   <none>t    (   t	   namespacet   Nonet   opent   impt   load_modulet	   PY_SOURCEt   dirt   getattr(   t   selft   patht   foot   modulet   attr(    (    s/   /usr/share/offlineimap/offlineimap/localeval.pyt   __init__   s    	c         C   s?   i  } | j  |  j ƒ | d  k	 r2 | j  | ƒ n  t | | ƒ S(   N(   t   updateR   R   t   eval(   R   t   textR   t   names(    (    s/   /usr/share/offlineimap/offlineimap/localeval.pyR   +   s
    N(   t   __name__t
   __module__t   __doc__R   R   R   (    (    (    s/   /usr/share/offlineimap/offlineimap/localeval.pyR       s   (   R   R   t   errnot   objectR    (    (    (    s/   /usr/share/offlineimap/offlineimap/localeval.pyt   <module>   s   