File: //lib64/python2.7/py_compile.pyc
�
zfc           @   s�   d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z e j �  Z d d d g Z	 d e
 f d �  �  YZ d �  Z d d e d � Z d d	 � Z e d
 k r� e j e �  � n  d S(   s{   Routine to "compile" a .py file to a .pyc (or .pyo) file.
This module has intimate knowledge of the format of .pyc files.
i����Nt   compilet   maint   PyCompileErrorc           B   s#   e  Z d  Z d d � Z d �  Z RS(   s�  Exception raised when an error occurs while attempting to
    compile the file.
    To raise this exception, use
        raise PyCompileError(exc_type,exc_value,file[,msg])
    where
        exc_type:   exception type to be used in error message
                    type name can be accesses as class variable
                    'exc_type_name'
        exc_value:  exception value to be used in error message
                    can be accesses as class variable 'exc_value'
        file:       name of file being compiled to be used in error message
                    can be accesses as class variable 'file'
        msg:        string message to be written as error message
                    If no value is given, a default exception message will be given,
                    consistent with 'standard' py_compile output.
                    message (or default) can be accesses as class variable 'msg'
    t    c         C   s�   | j  } | t k rI d j t j | | � � } | j d d | � } n d | | f } t j |  | pk | | | | � | |  _ | |  _	 | |  _
 | p� | |  _ d  S(   NR   s   File "<string>"s	   File "%s"s
   Sorry: %s: %s(   t   __name__t   SyntaxErrort   joint	   tracebackt   format_exception_onlyt   replacet	   Exceptiont   __init__t
   exc_type_namet	   exc_valuet   filet   msg(   t   selft   exc_typeR
   R   R   R   t   tbtextt   errmsg(    (    s"