ó
šßÈ[c        	   @` s€  d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m	 Z	 i d d 6d d 6d	 d
 6d d 6d d 6d d 6Z
 e j e j d ƒ j d d ƒ j d d ƒ j d d ƒ ƒ Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d  e f d! „  ƒ  YZ d" e f d# „  ƒ  YZ d$ e f d% „  ƒ  YZ d& e f d' „  ƒ  YZ e d( „ Z e j j e j j e ƒ d d) ƒ Z e j j e ƒ d Z e  d* k r|d d+ l! m" Z" e" ƒ  Z# e# j$ d, d- e d. d/ d0 d1 j% e ƒ ƒe# j$ d2 d3 d- d4 d0 d5 ƒe# j$ d6 d7 d- e d0 d8 ƒe# j$ d9 d: d; d< d= d> d0 d? ƒe# j& ƒ  Z' e e' j( e' j) e' j* ƒ n  d S(@   s„  
This module's main purpose is to act as a script to create new versions
of erfa.c when ERFA is updated (or this generator is enhanced).

`Jinja2 <http://jinja.pocoo.org/>`_ must be installed for this
module/script to function.

Note that this does *not* currently automate the process of creating structs
or dtypes for those structs.  They should be added manually in the template file.
i    (   t   absolute_importt   divisiont   print_functionN(   t   OrderedDicts   numpy.doublet   doubles
   numpy.intct   intt   dt_eraASTROMt	   eraASTROMt   dt_eraLDBODYt	   eraLDBODYs   numpy.dtype('S1')t   chars   numpy.dtype('S16')s
   const chars$   numpy.dtype([('fi0', '.*', <(.*)>)])s   \.\*s   .*s   \<t   (s   \>t   )t   FunctionDocc           B` sG   e  Z d  „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z RS(   c         C` sL   | j  d d ƒ j  d d ƒ j  d d ƒ |  _ d  |  _ d  |  _ d  |  _ d  S(   Ns   **s     s   /*
t    s   */(   t   replacet   doct   Nonet   _FunctionDoc__inputt   _FunctionDoc__outputt   _FunctionDoc__ret_info(   t   selfR   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   __init__#   s    -		c         C` s$  |  j  d  k rg  |  _  t j d |  j t j ƒ } | d  k	 r™ | j d ƒ } xH | j d ƒ D]4 } t | ƒ } | j	 d  k	 r^ |  j  j
 | ƒ q^ q^ Wn  t j d |  j t j ƒ } | d  k	 r| j d ƒ } xH | j d ƒ D]4 } t | ƒ } | j	 d  k	 rß |  j  j
 | ƒ qß qß Wqn  |  j  S(   Ns   Given([^
]*):
(.+?)  
i   s   
s#   Given and returned([^
]*):
(.+?)  
(   R   R   t   ret   searchR   t   DOTALLt   groupt   splitt   ArgumentDoct   namet   append(   R   t   resultR   t   it   arg_doc(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   input)   s"    	c         C` s$  |  j  d  k rg  |  _  t j d |  j t j ƒ } | d  k	 r™ | j d ƒ } xH | j d ƒ D]4 } t | ƒ } | j	 d  k	 r^ |  j  j
 | ƒ q^ q^ Wn  t j d |  j t j ƒ } | d  k	 r| j d ƒ } xH | j d ƒ D]4 } t | ƒ } | j	 d  k	 rß |  j  j
 | ƒ qß qß Wqn  |  j  S(   Ns   Returned([^
]*):
(.+?)  
i   s   
s#   Given and returned([^
]*):
(.+?)  
(   R   R   R   R   R   R   R   R   R   R   R   (   R   R   R   R    R!   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   output=   s"    	c         C` s¸   |  j  d  k r± g  } t j d |  j t j ƒ } | d  k	 r[ | j t | j d ƒ ƒ ƒ n  t	 | ƒ d k ry d |  _  q± t	 | ƒ d k r› | d |  _  q± t
 d |  j ƒ ‚ n  |  j  S(   Ns,   Returned \(function value\)([^
]*):
(.+?)  
i   i    R   i   s.   Multiple C return sections found in this doc:
(   R   R   R   R   R   R   R   t	   ReturnDocR   t   lent
   ValueError(   R   t   ret_infoR   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR'   Q   s    c         C` s   |  j  j d d ƒ S(   Ns     
s   
(   R   R   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   __repr__b   s    (   t   __name__t
   __module__R   t   propertyR"   R#   R'   R(   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   !   s
   	R   c           B` s   e  Z d  „  Z d „  Z RS(   c         C` sv   t  j d | ƒ } | d  k	 rW | j d ƒ |  _ | j d ƒ |  _ | j d ƒ |  _ n d  |  _ d  |  _ d  |  _ d  S(   Ns   ^ +([^ ]+)[ ]+([^ ]+)[ ]+(.+)i   i   i   (   R   R   R   R   R   t   typeR   (   R   R   t   match(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   h   s    		c         C` s   d j  |  j |  j |  j ƒ S(   Ns       {0:15} {1:15} {2}(   t   formatR   R,   R   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR(   s   s    (   R)   R*   R   R(   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   f   s   	t   Argumentc           B` s’   e  Z d  „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z d	 „  Z RS(
   c         C` sÿ   | |  _  d  |  _ | j ƒ  j d d ƒ \ |  _ } d | d k rY t |  _ | d } n t |  _ | } d | k rŠ t |  _ | d  } n  d | k ré | j	 d d ƒ \ |  _
 } t g  | d  j	 d	 ƒ D] } t | ƒ ^ qÈ ƒ |  _ n | |  _
 d
 |  _ d  S(   Nt    i   t   *i    s   []iþÿÿÿt   [iÿÿÿÿs   ][(    (   R   R   t   _Argument__inout_statet   stript   rsplitt   ctypet   Truet   is_ptrt   FalseR   R   t   tupleR   t   shape(   R   t
   definitionR   t   ptr_name_arrt   name_arrt   arrt   size(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   y   s     		!			8	c         C` s¹   |  j  d  k r² d |  _  x; |  j j D]- } |  j | j j d ƒ k r% d |  _  q% q% WxY |  j j D]H } |  j | j j d ƒ k rc |  j  d k rŸ d |  _  q« d |  _  qc qc Wn  |  j  S(   NR   t   ,t   int   inoutt   out(   R3   R   R   R"   R   R   R#   (   R   R    t   o(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   inout_state   s    	c         C` s2   |  j  t |  j ƒ d k Br' |  j d S|  j Sd  S(   Ni    s    *(   R8   R%   R;   R6   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt	   ctype_ptrœ   s    c         C` sI   t  |  j ƒ d k r5 d j |  j d t  |  j ƒ ƒ Sd j |  j ƒ Sd  S(   Ni    s   {0}_in[...{1}]s   ,0s   {0}_in(   R%   R;   R.   R   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   name_in_broadcast£   s     c         C` sI   t  |  j ƒ d k r5 d j |  j d t  |  j ƒ ƒ Sd j |  j ƒ Sd  S(   Ni    s   {0}_out[...{1}]s   ,0s   {0}_out(   R%   R;   R.   R   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   name_out_broadcastª   s     c         C` s   t  |  j S(   N(   t   ctype_to_dtypeR6   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   dtype±   s    c         C` s   t  |  j ƒ S(   N(   R%   R;   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   ndimµ   s    c         C` s,   d j  g  |  j D] } d j | ƒ ^ q ƒ S(   NR   s   [{0}](   t   joinR;   R.   (   R   t   s(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   cshape¹   s    c         C` s#   |  j  r d |  j Sd |  j Sd  S(   Nt   _s   *_(   R8   R   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   name_for_call½   s    	c         C` s"   d j  |  j |  j |  j |  j ƒ S(   Ns;   Argument('{0}', name='{1}', ctype='{2}', inout_state='{3}')(   R.   R<   R   R6   RF   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR(   Ä   s    (   R)   R*   R   R+   RF   RG   RH   RI   RK   RL   RO   RQ   R(   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR/   w   s   	R$   c           B` s   e  Z d  „  Z d „  Z RS(   c         C` s4  | |  _  | j d ƒ d j ƒ  |  _ |  j j ƒ  d |  _ |  j j ƒ  d |  _ |  j j d ƒ r'i  |  _ } d  } x· | | j	 d ƒ d j d ƒ D]‰ } | j ƒ  } | d k r— d | k rþ | j d ƒ \ } } | d k rñ t
 | ƒ } n  | | | <q | d  k	 r | | c | 7<q q— q— Wn	 d  |  _ d  S(	   Ns   
i    i   t   statust   :R   s    = t   else(   R   R   R4   t   infolineR,   t   descrt
   startswitht   statuscodesR   t   indexR   (   R   R   RX   t   codet   linet   lst   msg(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   Ê   s$    	'c         C` s   d j  |  j |  j |  j ƒ S(   Ns#   Return value, type={0:15}, {1}, {2}(   R.   R,   RV   R   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR(   â   s    (   R)   R*   R   R(   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR$   È   s   	t   Returnc           B` sG   e  Z d  „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z RS(   c         C` s\   d |  _  |  j  d |  _ | d k r+ d n d |  _ | |  _ | |  _ d |  _ | |  _ d  S(   Nt   c_retvalt   _outR   t   statt   ret(    (   R   RI   RF   R6   RG   R;   R   (   R   R6   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   è   s    				c         C` s   d j  |  j |  j |  j ƒ S(   Ns2   Return(name='{0}', ctype='{1}', inout_state='{2}')(   R.   R   R6   RF   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR(   ñ   s    c         C` s   t  |  j S(   N(   RJ   R6   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyRK   ô   s    c         C` s   d |  j  k S(   sc   
        This if the return type has a multi-dimensional output, like
        double[3][3]
        s   'fi0'(   RK   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   nd_dtypeø   s    c         C` s
   |  j  j S(   N(   R   R'   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   doc_info   s    (   R)   R*   R   R(   R+   RK   Rc   Rd   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR^   æ   s
   			t   Functionc           B` s2   e  Z d  Z d d „ Z d d d „ Z d „  Z RS(   s6  
    A class representing a C function.

    Parameters
    ----------
    name : str
        The name of the function
    source_path : str
        Either a directory, which means look for the function in a
        stand-alone file (like for the standard ERFA distribution), or a
        file, which means look for the function in that file (as for the
        astropy-packaged single-file erfa.c).
    match_line : str, optional
        If given, searching of the source file will skip until it finds
        a line matching this string, and start from there.
    c         C` sL  | |  _  | j d ƒ d j ƒ  |  _ |  j d |  _ t j j | ƒ rq t j j t j j	 | ƒ |  j ƒ |  _
 n	 | |  _
 t |  j
 ƒ  } | r| j ƒ  } xs | d k rã | j | ƒ rÔ d | | j ƒ  } Pn  | j ƒ  } q¡ Wd } t | j | |  j
 ƒ ƒ ‚ n | j ƒ  } Wd  QXd j | ƒ } t j | d t j t j Bƒ}	 |	 j | ƒ }
 d	 j |
 j d
 ƒ j ƒ  ƒ |  _ t |
 j d ƒ ƒ |  _ g  |  _ xK t j d |  j ƒ j d
 ƒ j d ƒ D]" } |  j j t | |  j ƒ ƒ qÁWt j d j | ƒ |  j ƒ j d
 ƒ j ƒ  |  _ |  j d k rH|  j j t |  j |  j ƒ ƒ n  d  S(   Nt   eraiÿÿÿÿs   .cR   s   
s<   Could not find the match_line "{0}" in the source file "{1}"s&   \n([^\n]+{0} ?\([^)]+\)).+?(/\*.+?\*/)t   flagsR0   i   i   s   \(([^)]+)\)s   , s   ^(.*){0}t   void(    R   R   t   lowert   pynamet   filenamet   ost   patht   isdirRM   t   normpatht   filepatht   opent   readlineRW   t   readR&   R.   R   t   compileR   t	   MULTILINER   R   t   cfuncR   R   t   argsR   R/   R4   Rb   R^   (   R   R   t   source_patht
   match_linet   fR[   t   filecontentsR]   t   patternt   pR   t   arg(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR     s8    	*	!	. 0c         C` sˆ   g  } x^ |  j  D]S } | j | j d ƒ k r | d k rJ | j | ƒ qc | j t | | ƒ ƒ q q W| d k	 r€ | j | ƒ S| Sd S(   s†  
        Gives all of the arguments and/or returned values, depending on whether
        they are inputs, outputs, etc.

        The value for `inout_filter` should be a string containing anything
        that arguments' `inout_state` attribute produces.  Currently, that can be:

          * "in" : input
          * "out" : output
          * "inout" : something that's could be input or output (e.g. a struct)
          * "ret" : the return value of the C function
          * "stat" : the return value of the C function if it is a status code

        It can also be a "|"-separated string giving inout states to OR
        together.
        t   |N(   Rw   RF   R   R   R   t   getattrRM   (   R   t   inout_filtert   propRM   R   R~   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   args_by_inout=  s    c         C` s"   d j  |  j |  j |  j |  j ƒ S(   NsB   Function(name='{0}', pyname='{1}', filename='{2}', filepath='{3}')(   R.   R   Rj   Rk   Rp   (   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR(   Z  s    N(   R)   R*   t   __doc__R   R   Rƒ   R(   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyRe     s   &t   Constantc           B` s   e  Z d  „  Z RS(   c         C` s7   | j  d d ƒ |  _ | j  d d ƒ |  _ | |  _ d  S(   Nt   ERFA_R   (   R   R   t   valueR   (   R   R   R‡   R   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   `  s    (   R)   R*   R   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR…   ^  s   t   ExtraFunctionc           B` s    e  Z d  Z d „  Z d „  Z RS(   s–  
    An "extra" function - e.g. one not following the SOFA/ERFA standard format.

    Parameters
    ----------
    cname : str
        The name of the function in C
    prototype : str
        The prototype for the function (usually derived from the header)
    pathfordoc : str
        The path to a file that contains the prototype, with the documentation
        as a multiline string *before* it.
    c   
      C` sX  | |  _  | j d ƒ d j ƒ  |  _ t j j | ƒ \ |  _ |  _ | j ƒ  |  _	 | j
 d ƒ sp | j
 d ƒ r† | d  j ƒ  |  _	 n  t } d  } t | d ƒ Õ } xË | D]¨ } | r| j ƒ  j d ƒ rä t } d j | ƒ } qS| j d ƒ r | d	 } n  | j | ƒ q« | j ƒ  j d
 ƒ r4t } g  } n  | j |  j	 ƒ r« | |  _ Pq« q« Wt d j |  j	 | ƒ ƒ ‚ Wd  QXg  |  _ t j d j |  j  ƒ |  j	 ƒ j d ƒ } | d  k	 rðx6 | j d ƒ D]" }	 |  j j t |	 |  j ƒ ƒ qÇWn  t j d j |  j  ƒ |  j	 ƒ j d ƒ j ƒ  |  _ |  j d k rT|  j j t |  j |  j ƒ ƒ n  d  S(   NRf   iÿÿÿÿt   {t   ;t   rs   */R   s   **i   s   /*s$   Did not find prototype {} in file {}s   {0}\(([^)]+)?\)i   s   , s   ^(.*){0}Rh   (   R   R   Ri   Rj   Rl   Rm   Rp   Rk   R4   t	   prototypet   endswithR9   R   Rq   t   lstripRW   RM   R   R7   R   R&   R.   Rw   R   R   R   R/   R-   Rb   R^   (
   R   t   cnameRŒ   t
   pathfordoct	   incommentt   lastcommentRz   t   lt   argsetR~   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR   u  sF    					#c         C` s5   t  t |  ƒ j ƒ  } | j d ƒ r1 d | } n  | S(   NRe   t   Extra(   t   superRˆ   R(   RW   (   R   R‹   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR(      s    (   R)   R*   R„   R   R(   (    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyRˆ   f  s   	+c   $   	   C` s)  d d l  m } m } | r( d „  } n	 d „  } | d | | ƒ ƒ } d „  } d „  }	 d „  }
 | | j d	 <|	 | j d
 <|
 | j d <| j d ƒ } | j d ƒ } t j j |  ƒ rÖ t j j |  d ƒ } t	 } n+ t j j t j j
 |  ƒ d d ƒ } t } t | d ƒ  } | j ƒ  } Wd  QXt ƒ  } t j d | d t j t j Bƒ} x$| D]\ } } } | d j | | ƒ ƒ | d k s¬| d k s¬| d k s¬| d k rWt j d | d t j ƒ} x© | D]ž } | d j | | | ƒ ƒ | r	t | |  ƒ | | <qÎx` | j
 d ƒ D]C } | | k r| d  j
 d ƒ d } t | |  | ƒ | | <PqqWt d ƒ ‚ qÎWqWqWWt | j ƒ  ƒ } t j j |  d ƒ } t | d ƒ  } | j ƒ  } Wd  QXg  } x | j
 d ƒ D]| } t j d | d t j t j Bƒ} | rØt j d  | d t j ƒ} x0 | D]% \ } }  | j t | |  | ƒ ƒ q(WqØqØW| d! ƒ | j d" | ƒ }! | j d" | d# | ƒ }" | d  k	 rt j j | ƒ d d$ }# | d% | d& |# ƒ t | d' ƒ  } | j |" ƒ Wd  QXt |# d' ƒ  } | j |! ƒ Wd  QXn  | d( ƒ |! |" | f S()   Ni    (   t   Environmentt   FileSystemLoaderc          _` s   t  |  | Ž  S(   N(   t   print(   Rw   t   kwargs(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   <lambda>«  s    c          _` s   d  S(   N(   R   (   Rw   Rš   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyR›   ­  s    t   loaderc         S` s$   g  |  D] } | d j  | ƒ ^ q S(   Ns   {0}(   R.   (   t   a_listt   pret
   an_element(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   prefix²  s    c         S` s$   g  |  D] } d j  | ƒ | ^ q S(   Ns   {0}(   R.   (   R   t   postRŸ   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   postfixµ  s    c         S` s(   g  |  D] } | d j  | ƒ | ^ q S(   Ns   {0}(   R.   (   R   Rž   R¡   RŸ   (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   surround¸  s    R    R¢   R£   s   core.c.templs   core.py.templs   erfa.hR‹   s   /\* (\w*)/(\w*) \*/\n(.*?)\n\nRg   s   {0}.{1}t	   Astronomyt   AngleOpst   SphericalCartesiant   MatrixVectorProductss    (\w+)\(.*?\);s   {0}.{1}.{2}...s   \niÿÿÿÿR   s[   A name for a C file wasn't found in the string that spawned it.  This should be impossible!s   erfam.hs   

s   #define (ERFA_\w+?) (.+?)$s   /\* (.+?) \*/\ns   Rendering templatet   funcst	   constantss   .cs	   Saving tot   andt   ws   Done!(   t   jinja2R—   R˜   t   filterst   get_templateRl   Rm   Rn   RM   R7   R   R9   Rq   Rs   R   R   t   findallR   Ru   R.   Re   R&   t   listt   valuesR   R…   t   renderR   t   splitextt   write($   t   srcdirt   outfnt   templateloct   verboseR—   R˜   t   print_t   envR    R¢   R£   t	   erfa_c_int
   erfa_py_int   erfahfnt   multifilsercRz   t   erfa_hR¨   t   section_subsection_functionst   sectiont
   subsectiont	   functionst
   func_namesR   R[   Ry   t   erfamhfnt   erfa_m_hR©   t   chunkR   R   R‡   t   erfa_ct   erfa_pyt   outfn_c(    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   main§  s|    					%		"$

s   ../../cextern/erfat   __main__(   t   ArgumentParserRµ   t   defaultt   nargst   ?t   helps°   Directory where the ERFA c and header files can be found or to a single erfa.c file (which must be in the same directory as erfa.h). Defaults to the builtin astropy erfa: "{0}"s   -os   --outputs   core.pys…   The output filename.  This is the name for only the pure-python output, the C part will have the same name but with a ".c" extension.s   -ts   --template-locs<   the location where the "core.c.templ" template can be found.s   -qs   --quiett   actiont   store_falset   destR¸   s+   Suppress output normally printed to stdout.(+   R„   t
   __future__R    R   R   R   t   os.pathRl   t   collectionsR   RJ   Rt   t   escapeR   t	   NDIMS_REXt   objectR   R   R/   R$   R^   Re   R…   Rˆ   R7   RË   Rm   RM   R   t   __file__t   DEFAULT_ERFA_LOCt   DEFAULT_TEMPLATE_LOCR)   t   argparseRÍ   t   apt   add_argumentR.   t
   parse_argsRw   Rµ   R#   t   template_loc(    (    (    s;   lib/python2.7/site-packages/astropy/_erfa/erfa_generator.pyt   <module>   sL   

<EQYAr		
