ó
¢¿[Mc           @   s]   d  Z  d d l m Z d d l Z d d	 d „  ƒ  YZ d „  Z e d k rY d GHe ƒ  n  d S(
   sº  Python.Interpreter COM Server

  This module implements a very very simple COM server which
  exposes the Python interpreter.

  This is designed more as a demonstration than a full blown COM server.
  General functionality and Error handling are both limited.

  To use this object, ensure it is registered by running this module
  from Python.exe.  Then, from Visual Basic, use "CreateObject('Python.Interpreter')",
  and call its methods!
iÿÿÿÿ(   t	   ExceptionNt   Interpreterc           B   sS   e  Z d  Z d d g Z d Z d Z d Z d Z d Z d „  Z	 d	 „  Z
 d
 „  Z RS(   s+   The interpreter object exposed via COM
    t   Exect   Evals   Python.Interpreter.2s   Python.Interpreters   Python Interpreters&   {30BD3490-2632-11cf-AD5B-524153480001}s#   win32com.servers.interp.Interpreterc         C   s   i  |  _  d  S(   N(   t   dict(   t   self(    (    s:   K:\RCS\Python\Lib\site-packages\win32com\servers\interp.pyt   __init__   s    c         C   sI   t  | ƒ t t g k r3 t d d d t j ƒ ‚ n  t t | ƒ |  j ƒ S(   s    Evaluate an expression.
        t   descs   Must be a stringt   scode(   t   typet   strt   unicodeR    t   winerrort   DISP_E_TYPEMISMATCHt   evalR   (   R   t   exp(    (    s:   K:\RCS\Python\Lib\site-packages\win32com\servers\interp.pyR       s    c         B   sH   e  | ƒ e e g k r3 e d d d e j ƒ ‚ n  e | ƒ |  j Ud S(   s   Execute a statement.
        R   s   Must be a stringR   N(   R	   R
   R   R    R   R   R   (   R   R   (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\servers\interp.pyR   '   s    (   t   __name__t
   __module__t   __doc__t   _public_methods_t   _reg_verprogid_t   _reg_progid_t
   _reg_desc_t   _reg_clsid_t   _reg_class_spec_R   R   R   (    (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\servers\interp.pyR      s   		c          C   s   d d  l  }  |  j j j t ƒ S(   Niÿÿÿÿ(   t   win32com.server.registert   servert   registert   UseCommandLineR   (   t   win32com(    (    s:   K:\RCS\Python\Lib\site-packages\win32com\servers\interp.pyt   Register.   s    t   __main__s   Registering COM server...(    (   R   t   win32com.server.exceptionR    R   R   R   R   (    (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\servers\interp.pyt   <module>   s   	