ó
šßÈ[c           @   s„	  d  d l  Z  d  d l Z d  d l m Z d  d l Z d  d l Z d d l m Z	 d d l
 m Z d d l
 m Z d d l m Z d d	 l m Z d d
 l m Z m Z d d l
 m Z d d l m Z m Z y  d  d l m Z m Z e Z Wn e k
 re Z n Xe d e ƒ  d d ƒ e d e d d ƒ d d ƒ e d e d i d d 6d d 6d d d g d e ƒ d d ƒ e d e d e j! d d g ƒ d d ƒ e d e d e j" ƒ d d ƒ e d e d e j# ƒ d d  ƒ e d e d e j$ ƒ d d! ƒ e d e d e j% ƒ d d" ƒ e d e d e j% d# d$ ƒ d d% ƒ e d e d e j& ƒ d d& ƒ e d e d e j' ƒ d d' ƒ e d e d e j' d( d) d* i i d+ d, 6d- d 6d. 6d/ d0 6d1 d2 6ƒ d d3 ƒ e d e d e j& d( d) d* i d4 d5 6d6 d7 6d8 d8 g d9 6i d+ d, 6d- d 6d. 6d: d0 6d; d2 6d< d= ƒ d d> ƒ e d e d e j& d* e j( d? ƒ d d@ ƒ e d e d e j& d* i d d0 6ƒ d dA ƒ e d e d e j) dB i dC dD 6ƒ d dE ƒ e d e d e j* ƒ d dF ƒ g Z+ e d e d e j* ƒ d dG ƒ g Z, dH dI dJ g Z- e d e ƒ  d dK ƒ e d e dL dˆ ƒ d dO ƒ e d e dL d‰ ƒ d dQ ƒ e d e dL dŠ dR dP g ƒ d dQ ƒ e d e dL d‹ dS dT g ƒ d dQ ƒ e d e dL dŒ dR dT g dS dT dP g ƒ d dK ƒ e d e dL d g d i dU dT 6ƒ d dV ƒ g Z. e d e ƒ  d dW ƒ e d e dL dŽ e j/ dX f g ƒ d dY ƒ e d e dL d e j/ dZ f g d i d[ dT 6ƒ d d\ ƒ e d e d e j# ƒ d d] ƒ g Z0 d^ „  Z1 d_ „  Z2 e j3 j4 d` e e g ƒ da „  ƒ Z5 e j3 j4 d` e e g ƒ db „  ƒ Z6 e j3 j4 d` e e g ƒ dc „  ƒ Z7 e j3 j4 d` e e g ƒ dd „  ƒ Z8 de „  Z9 df „  Z: dg „  Z; e j3 j4 d` e e g ƒ dh „  ƒ Z< e j3 j4 d` e e g ƒ e j3 j4 di dj dk dl dm g ƒ dn „  ƒ ƒ Z= e j3 j4 d` e e g ƒ do „  ƒ Z> dp „  Z? e j3 j4 d` e e g ƒ dq „  ƒ Z@ e j3 j4 d` e e g ƒ dr „  ƒ ZA e j3 j4 ds dt du g dt du g dt g i dv dt 6dw du 6e f dt du g dt du g du g i dv dt 6e f dt du g dt du g g  i dv dx 6dw dy 6e f dt du g dt du g g  i dw dz 6e f dt du g dt du g g  i dv dt 6e f dt du g dt du g g  i dv dx 6dw du 6e f dt du g dt du g g  i  e f g ƒ d{ „  ƒ ZB e j3 j4 d| i dv dx 6dw du 6e f i dv dt 6dw du 6e f i dw dz 6e f i  e f g ƒ d} „  ƒ ZC e j3 j4 d` e e g ƒ d~ „  ƒ ZD e j3 j4 d d€ d d‚ dƒ d„ d‚ g ƒ e j3 j4 d` e e g ƒ d… „  ƒ ƒ ZE eF e e jG jH jI ƒ  e jG jJ jI ƒ  ƒ ƒ ZK e j3 j4 d† eK ƒ d‡ „  ƒ ZL d S(   iÿÿÿÿN(   t   chaini   (   t	   cStringIOi   (   t   ascii(   t   table(   t   simple_table(   t   catch_warnings(   t   AstropyWarningt   AstropyDeprecationWarning(   t   unitsi   (   t   setup_functiont   teardown_function(   t   BeautifulSoupt   FeatureNotFoundt   kwargst   outsÆ   ID XCENTER YCENTER MAG MERR MSKY NITER SHARPNESS CHI PIER PERROR
14 138.538 256.405 15.461 0.003 34.85955 4 -0.032 0.802 0 No_error
18 18.114 280.170 22.329 0.206 30.12784 4 -2.544 1.104 0 No_error
t	   delimitert   formatss   %12.1ft   XCENTERs   {0:.1f}t   YCENTERt   include_namest   strip_whitespaces:   XCENTER YCENTER
"       138.5" 256.4
"        18.1" 280.2
t   Writert   exclude_namest   CHIsÊ   ID	XCENTER	YCENTER	MAG	MERR	MSKY	NITER	SHARPNESS	PIER	PERROR
N	N	N	N	N	N	N	N	N	S
14	138.538	256.405	15.461	0.003	34.85955	4	-0.032	0	No_error
18	18.114	280.170	22.329	0.206	30.12784	4	-2.544	0	No_error
sÆ   ID	XCENTER	YCENTER	MAG	MERR	MSKY	NITER	SHARPNESS	CHI	PIER	PERROR
14	138.538	256.405	15.461	0.003	34.85955	4	-0.032	0.802	0	No_error
18	18.114	280.170	22.329	0.206	30.12784	4	-2.544	1.104	0	No_error
sÆ   ID,XCENTER,YCENTER,MAG,MERR,MSKY,NITER,SHARPNESS,CHI,PIER,PERROR
14,138.538,256.405,15.461,0.003,34.85955,4,-0.032,0.802,0,No_error
18,18.114,280.170,22.329,0.206,30.12784,4,-2.544,1.104,0,No_error
s…   14 138.538 256.405 15.461 0.003 34.85955 4 -0.032 0.802 0 No_error
18 18.114 280.170 22.329 0.206 30.12784 4 -2.544 1.104 0 No_error
sÈ   # ID XCENTER YCENTER MAG MERR MSKY NITER SHARPNESS CHI PIER PERROR
14 138.538 256.405 15.461 0.003 34.85955 4 -0.032 0.802 0 No_error
18 18.114 280.170 22.329 0.206 30.12784 4 -2.544 1.104 0 No_error
t   commentt   &sÇ   &ID XCENTER YCENTER MAG MERR MSKY NITER SHARPNESS CHI PIER PERROR
14 138.538 256.405 15.461 0.003 34.85955 4 -0.032 0.802 0 No_error
18 18.114 280.170 22.329 0.206 30.12784 4 -2.544 1.104 0 No_error
sŸ  \begin{table}
\begin{tabular}{ccccccccccc}
ID & XCENTER & YCENTER & MAG & MERR & MSKY & NITER & SHARPNESS & CHI & PIER & PERROR \\
 & pixels & pixels & magnitudes & magnitudes & counts &  &  &  &  & perrors \\
14 & 138.538 & 256.405 & 15.461 & 0.003 & 34.85955 & 4 & -0.032 & 0.802 & 0 & No_error \\
18 & 18.114 & 280.170 & 22.329 & 0.206 & 30.12784 & 4 & -2.544 & 1.104 & 0 & No_error \\
\end{tabular}
\end{table}
s‡  \begin{deluxetable}{ccccccccccc}
\tablehead{\colhead{ID} & \colhead{XCENTER} & \colhead{YCENTER} & \colhead{MAG} & \colhead{MERR} & \colhead{MSKY} & \colhead{NITER} & \colhead{SHARPNESS} & \colhead{CHI} & \colhead{PIER} & \colhead{PERROR}\\ \colhead{ } & \colhead{pixels} & \colhead{pixels} & \colhead{magnitudes} & \colhead{magnitudes} & \colhead{counts} & \colhead{ } & \colhead{ } & \colhead{ } & \colhead{ } & \colhead{perrors}}
\startdata
14 & 138.538 & 256.405 & 15.461 & 0.003 & 34.85955 & 4 & -0.032 & 0.802 & 0 & No_error \\
18 & 18.114 & 280.170 & 22.329 & 0.206 & 30.12784 & 4 & -2.544 & 1.104 & 0 & No_error
\enddata
\end{deluxetable}
t   captions   Mag values \label{tab1}t	   latexdicts   [mag]t   MAGs   [pixel]R   s   deluxetable*t	   tabletypet   htpbt
   tablealigns²  \begin{deluxetable*}{ccccccccccc}[htpb]
\tablecaption{Mag values \label{tab1}}
\tablehead{\colhead{ID} & \colhead{XCENTER} & \colhead{YCENTER} & \colhead{MAG} & \colhead{MERR} & \colhead{MSKY} & \colhead{NITER} & \colhead{SHARPNESS} & \colhead{CHI} & \colhead{PIER} & \colhead{PERROR}\\ \colhead{ } & \colhead{[pixel]} & \colhead{pixels} & \colhead{[mag]} & \colhead{magnitudes} & \colhead{counts} & \colhead{ } & \colhead{ } & \colhead{ } & \colhead{ } & \colhead{perrors}}
\startdata
14 & 138.538 & 256.405 & 15.461 & 0.003 & 34.85955 & 4 & -0.032 & 0.802 & 0 & No_error \\
18 & 18.114 & 280.170 & 22.329 & 0.206 & 30.12784 & 4 & -2.544 & 1.104 & 0 & No_error
\enddata
\end{deluxetable*}
s   \begin{center}t   preambles   \end{center}t	   tablefoots   \hlinet   data_ends   table*t   ht	   col_aligns   |lcccccccccc|sî  \begin{table*}[h]
\begin{center}
\caption{Mag values \label{tab1}}
\begin{tabular}{|lcccccccccc|}
ID & XCENTER & YCENTER & MAG & MERR & MSKY & NITER & SHARPNESS & CHI & PIER & PERROR \\
 & [pixel] & pixels & [mag] & magnitudes & counts &  &  &  &  & perrors \\
14 & 138.538 & 256.405 & 15.461 & 0.003 & 34.85955 & 4 & -0.032 & 0.802 & 0 & No_error \\
18 & 18.114 & 280.170 & 22.329 & 0.206 & 30.12784 & 4 & -2.544 & 1.104 & 0 & No_error \\
\hline
\hline
\end{tabular}
\end{center}
\end{table*}
t   templates  \begin{tabletype}[tablealign]
preamble
\caption{caption}
\begin{tabular}{col_align}
header_start
ID & XCENTER & YCENTER & MAG & MERR & MSKY & NITER & SHARPNESS & CHI & PIER & PERROR \\
 & pixels & pixels & magnitudes & magnitudes & counts &  &  &  &  & perrors \\
header_end
data_start
14 & 138.538 & 256.405 & 15.461 & 0.003 & 34.85955 & 4 & -0.032 & 0.802 & 0 & No_error \\
18 & 18.114 & 280.170 & 22.329 & 0.206 & 30.12784 & 4 & -2.544 & 1.104 & 0 & No_error \\
data_end
\end{tabular}
tablefoot
\end{tabletype}
s…  \begin{tabular}{ccccccccccc}
ID & XCENTER & YCENTER & MAG & MERR & MSKY & NITER & SHARPNESS & CHI & PIER & PERROR \\
 & pixels & pixels & magnitudes & magnitudes & counts &  &  &  &  & perrors \\
14 & 138.538 & 256.405 & 15.461 & 0.003 & 34.85955 & 4 & -0.032 & 0.802 & 0 & No_error \\
18 & 18.114 & 280.170 & 22.329 & 0.206 & 30.12784 & 4 & -2.544 & 1.104 & 0 & No_error \\
\end{tabular}
t   htmldicts#   table,th,td{border:1px solid black;t   csss¨  <html>
 <head>
  <meta charset="utf-8"/>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-type"/>
  <style>
table,th,td{border:1px solid black;  </style>
 </head>
 <body>
  <table>
   <thead>
    <tr>
     <th>ID</th>
     <th>XCENTER</th>
     <th>YCENTER</th>
     <th>MAG</th>
     <th>MERR</th>
     <th>MSKY</th>
     <th>NITER</th>
     <th>SHARPNESS</th>
     <th>CHI</th>
     <th>PIER</th>
     <th>PERROR</th>
    </tr>
   </thead>
   <tr>
    <td>14</td>
    <td>138.538</td>
    <td>256.405</td>
    <td>15.461</td>
    <td>0.003</td>
    <td>34.85955</td>
    <td>4</td>
    <td>-0.032</td>
    <td>0.802</td>
    <td>0</td>
    <td>No_error</td>
   </tr>
   <tr>
    <td>18</td>
    <td>18.114</td>
    <td>280.170</td>
    <td>22.329</td>
    <td>0.206</td>
    <td>30.12784</td>
    <td>4</td>
    <td>-2.544</td>
    <td>1.104</td>
    <td>0</td>
    <td>No_error</td>
   </tr>
  </table>
 </body>
</html>
sg  \MERGERAD='INDEF'
\IRAF='NOAO/IRAFV2.10EXPORT'
\USER=''
\HOST='tucana'
\DATE='05-28-93'
\TIME='14:46:13'
\PACKAGE='daophot'
\TASK='nstar'
\IMAGE='test'
\GRPFILE='test.psg.1'
\PSFIMAGE='test.psf.1'
\NSTARFILE='test.nst.1'
\REJFILE='"hello world"'
\SCALE='1.'
\DATAMIN='50.'
\DATAMAX='24500.'
\GAIN='1.'
\READNOISE='0.'
\OTIME='00:07:59.0'
\XAIRMASS='1.238106'
\IFILTER='V'
\RECENTER='yes'
\FITSKY='no'
\PSFMAG='16.594'
\PSFRAD='5.'
\FITRAD='3.'
\MAXITER='50'
\MAXGROUP='60'
\FLATERROR='0.75'
\PROFERROR='5.'
\CLIPEXP='6'
\CLIPRANGE='2.5'
|       ID|   XCENTER|   YCENTER|         MAG|          MERR|           MSKY| NITER|              SHARPNESS|         CHI|  PIER|       PERROR|
|     long|    double|    double|      double|        double|         double|  long|                 double|      double|  long|         char|
|         |    pixels|    pixels|  magnitudes|    magnitudes|         counts|      |                       |            |      |      perrors|
|     null|      null|      null|        null|          null|           null|  null|                   null|        null|  null|         null|
 14        138.538    256.405    15.461       0.003          34.85955        4      -0.032                  0.802        0      No_error
 18        18.114     280.170    22.329       0.206          30.12784        4      -2.544                  1.104        0      No_error
sŒ  \ This is an example of a valid comment.
\ The 2nd data line is used to verify the exact column parsing
\ (unclear if this is a valid for the IPAC format)
\catalog='sao'
\date='Wed Sp 20 09:48:36 1995'
\mykeyword='Another way for defining keyvalue string'
|    ra|   dec| sai|    v2|sptype|
|double|double|long|double|  char|
|  unit|  unit|unit|  unit|  ergs|
|  null|  null|null|  null|  null|
s   a b cs   1 2 3s   1 1 3s   a b c
1 2 3
1 1 3
t   fill_valuest   1t   ws   a b c
w 2 3
w w 3
t   bs   a b c
1 2 3
1 w 3
t   fill_include_namest   fill_exclude_namest   as   %4.2fs   a b c
1.00 2 3
1.00 w 3
s   a b c
"" 2 3
1 1 ""
t   Xs   a b c
X 2 3
w w X
t   XXXs   %4.1fs   a b c
XXX 2 3
1.0 w XXX
s   a,b,c
,2,3
1,1,
c         C   sì   t  ƒ  } y! t j | | d | |  d Wn/ t k
 r[ } d t | ƒ k rW | ‚ n  d  SXd j |  d ƒ GHd j | j ƒ  ƒ GHg  | j ƒ  j ƒ  j ƒ  D] } | j ƒ  ^ q› g  |  d j ƒ  j ƒ  D] } | j ƒ  ^ qÇ k sè t	 ‚ d  S(   Nt   fast_writerR   s,   not in the list of formats with fast writerss   Expected:
{}R   s
   Actual:
{}(
   t   StringIOR   t   writet
   ValueErrort   strt   formatt   getvaluet   stript
   splitlinest   AssertionError(   t   test_defR   R1   R   t   et   x(    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   check_write_table  s    	!	.c         C   s<  t  ƒ  } t j |  ƒ }  d |  d k rP d j |  d d j ƒ } |  d d =n d } y$ | j | d | d | |  d Wn/ t k
 r« } d t | ƒ k r§ | ‚ n  d  SXd j |  d	 ƒ GHd
 j | j ƒ  ƒ GHg  | j ƒ  j	 ƒ  j
 ƒ  D] } | j	 ƒ  ^ që g  |  d	 j	 ƒ  j
 ƒ  D] } | j	 ƒ  ^ qk s8t ‚ d  S(   NR   R   s	   ascii.{0}R   R6   R1   s,   not in the list of formats with fast writerss   Expected:
{}R   s
   Actual:
{}(   R2   t   copyt   deepcopyR6   t   _format_nameR3   R4   R5   R7   R8   R9   R:   (   R;   R   R1   R   R6   R<   R=   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   check_write_table_via_table›  s     	$	.R1   c         C   sY   t  j d t  j ƒ } | j d ƒ } x. t D]& } t | | |  ƒ t | | |  ƒ q+ Wd  S(   Nt   Readers   t/daophot.dat(   R   t
   get_readert   Daophott   readt	   test_defsR>   RB   (   R1   R   t   dataR;   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_table±  s
    c         C   s4   t  j t ƒ } x t D] } t | | |  ƒ q Wd  S(   N(   R   RF   t   tab_to_fillt   test_defs_fill_valueR>   (   R1   RH   R;   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_fill_values»  s    c         C   so   t  j t ƒ } t j | d t ƒ} t t g | d _ t t g | d _ x t D] } t	 | | |  ƒ qQ Wd S(   s   see discussion in #2255t   maskedR.   t   cN(
   R   RF   RJ   R   t   Tablet   Truet   Falset   maskt   test_def_masked_fill_valueR>   (   R1   RH   R;   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt    test_write_fill_masked_differentÃ  s    c         C   sY   t  j d t  j ƒ } | j d ƒ } x. t D]& } t | | |  ƒ t | | |  ƒ q+ Wd S(   s*   Write an IPAC table that contains no data.RC   s   t/no_data_ipac.datN(   R   RD   t   IpacRF   t   test_defs_no_dataR>   RB   (   R1   R   RH   R;   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_no_data_ipacÏ  s
    c          C   s   t  j d t  j ƒ }  |  j d ƒ } d | j d <t t ƒ # } t ƒ  } | j | d d ƒWd QXt	 | ƒ d k sz t
 ‚ d	 t | d
 j ƒ k s™ t
 ‚ d S(   sÔ   Write an IPAC table that contains no data but has invalid (incorrectly
    specified) metadata stored in the top-level metadata and therefore should
    raise a warning, and check that the warning has been raisedRC   s   t/no_data_ipac.datt   extrat   blahR6   s
   ascii.ipacNi   s   were not writteni    (   R   RD   RU   RF   t   metaR   R   R2   R3   t   lenR:   R5   t   message(   R   RH   t   ASwarnR   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt%   test_write_invalid_toplevel_meta_ipacÚ  s    	c          C   s¡   t  j d t  j ƒ }  |  j d ƒ } d | j d d <t t ƒ # } t ƒ  } | j | d d ƒWd QXt	 | ƒ d	 k s~ t
 ‚ d
 t | d j ƒ k s t
 ‚ d S(   s  Write an IPAC table that contains no data but has invalid (incorrectly
    specified) metadata stored appropriately in the ``keywords`` section
    of the metadata but with invalid format and therefore should raise a
    warning, and check that the warning has been raisedRC   s   t/no_data_ipac.datt   invalidt   keywordsRY   R6   s
   ascii.ipacNi   s   has been skippedi    (   R   RD   RU   RF   RZ   R   R   R2   R3   R[   R:   R5   R\   (   R   RH   R]   R   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt$   test_write_invalid_keyword_meta_ipacé  s    	c          C   s‰   t  j d t  j ƒ }  |  j d ƒ } i d d 6| j d d <t t ƒ # } t ƒ  } | j | d d ƒWd	 QXt	 | ƒ d
 k s… t
 ‚ d	 S(   ss   Write an IPAC table that contains no data and has *correctly* specified
    metadata.  No warnings should be issuedRC   s   t/no_data_ipac.datR_   t   valueR`   RY   R6   s
   ascii.ipacNi    (   R   RD   RU   RF   RZ   R   R   R2   R3   R[   R:   (   R   RH   R]   R   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_valid_meta_ipacù  s    	c      	   C   s  t  j d ƒ } t ƒ  } t  j | | d d d |  ƒd d d d d	 g } | j ƒ  j ƒ  | k sg t ‚ t ƒ  } t  j | | d d
 d |  ƒd d d d d	 g } | j ƒ  j ƒ  | k s¿ t ‚ t ƒ  } t  j | | d d d t d |  ƒd d	 g } | j ƒ  j ƒ  | k st ‚ d S(   s5   Write comments in output originally read by io.ascii.s   #c1
  # c2	
a,b,c
#  c3
1,2,3R6   t   basicR1   s   # c1s   # c2s   # c3s   a b cs   1 2 3t   commented_headers   # a b cR   N(   R   RF   R2   R3   R7   R9   R:   RQ   (   R1   RH   R   t   expected(    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_comments  s    			"t   fmts   %0.1fs   .1fs   0.1fs   {0:0.1f}c         C   sx   t  j d ƒ } t ƒ  } d d d d d g } | | d _ t  j | | d d	 d
 |  ƒ| j ƒ  j ƒ  | k st t ‚ d S(   s%   Check different formats for a column.s&   #c1
  # c2	
a,b,c
#  c3
1.11,2.22,3.33s   # c1s   # c2s   # c3s   a b cs   1.1 2.22 3.33R.   R6   Rd   R1   N(   R   RF   R2   R6   R3   R7   R9   R:   (   R1   Rh   RH   R   Rf   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_format  s    	c         C   sr   t  j d g d g d g g d d ƒ} t ƒ  } t j | | d d	 d
 |  ƒ| j ƒ  j ƒ  d d k sn t ‚ d S(   s2   Names should be stripped of whitespace by default.i   i   i   t   namess    As   B s    C R6   t   csvR1   i    s   A,B,CN(   s    As   B s    C (   R   RO   R2   R   R3   R7   R9   R:   (   R1   RH   R   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_strip_names(  s    '	c          C   s>  t  j t  j d d d d d g ƒ t  j d d d d d g ƒ g ƒ }  t j t j d	 ƒ } i d
 d 6| d <t ƒ  } d j d t	 j
 ƒ } t j |  | d d d | ƒ| j ƒ  | k s¾ t ‚ t j |  d _ t j |  d _ t ƒ  } t j |  | d d d t j d	 ƒ| j ƒ  | j d d ƒ j d d ƒ k s:t ‚ d S(   sµ   
    Check to make sure that Latex and AASTex writers attempt to fall
    back on the **unit** attribute of **Column** if the supplied
    **latexdict** does not specify units.
    t   namet   dateRH   R.   R+   s   NUV exp.timei   i   t   AAt   sR   s‘   \begin{table}{cc}
\tablehead{\colhead{date} & \colhead{NUV exp.time}\\ \colhead{ } & \colhead{s}}
\startdata
a & 1 \\
b & 2
\enddata
\end{table}
s   
R6   t   aastexR   s
   colhead{s}s   colhead{$\mathrm{s}$}s
   colhead{ }s   colhead{$\mathrm{yr}$}N(   R   RO   t   ColumnR?   R@   R   t
   latexdictsR2   t   replacet   ost   linesepR3   R7   R:   R   Rp   t   unitt   yr(   t   tR   R   Rf   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_latex_units1  s    !$			#c         C   sz   t  j d d g g ƒ } t j t ƒ 2 } t ƒ  } t j | | d d d t d |  ƒWd QXd t	 | j
 ƒ k sv t ‚ d S(	   sr   
    Test the fix for #3562 with confusing exception using comment=False
    for the commented_header writer.
    i   i   R6   Re   R   R1   Ns8   for the commented_header writer you must supply a string(   R   RO   t   pytestt   raisesR4   R2   R   R3   RQ   R5   Rb   R:   (   R1   Ry   t   errR   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_commented_header_commentsR  s    	c         C   sk   t  j d d g g d d g ƒ} t ƒ  } t j | | d |  ƒ| j ƒ  j ƒ  d d d g k sg t ‚ d S(   s^   
    Test the fix for #4350 where byte strings were output with a
    leading `b` on Py3.
    t   Hellot   Worldt   dtypet   S10R1   t   col0N(   R   RO   R2   R   R3   R7   R9   R:   (   R1   Ry   R   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_byte_string_output`  s    !	s<   names, include_names, exclude_names, formats, issues_warningR=   t   ys   %ds   %ft   pt   qt   zc         C   s   t  j d d d g d d d g g ƒ } t t ƒ 8 } t ƒ  } t j | | d |  d | d	 | d
 | ƒWd QX| t | ƒ d k k s‹ t ‚ d S(   s   Test for #4508.i   i   i   gffffff@gÍÌÌÌÌÌ@g333333@Rj   R   R   R   N(	   R   RO   R   R   R2   R   R3   R[   R:   (   Rj   R   R   R   t   issues_warningRy   R]   R   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_names_with_formatsl  s    '	s   formats, issues_warningc      	   C   s}   t  j d d d g d d d g g ƒ } t t ƒ & } t ƒ  } t j | | d |  ƒWd QX| t | ƒ d k k sy t ‚ d S(	   s   Test the fix for #4508.i   i   i   gffffff@gÍÌÌÌÌÌ@g333333@R   N(	   R   RO   R   R   R2   R   R3   R[   R:   (   R   R‰   Ry   R]   R   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_columns_names_with_formats  s
    '	c         C   sÃ   t  j d d g d d g g d d d g ƒ} t ƒ  } t j | | d |  ƒ| j ƒ  j ƒ  d d d g k ss t ‚ t ƒ  } t j | | d |  d	 d
 ƒ| j ƒ  j ƒ  d d d
 g k s¿ t ‚ d S(   s^   
    Test the fix for #4350 where byte strings were output with a
    leading `b` on Py3.
    R   t    R   R‚   R1   s	   col0 col1s   Hello ""s   "" ""R   t   ,s	   col0,col1s   Hello,N(   R   RO   R2   R   R3   R7   R9   R:   (   R1   Ry   R   (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_quoted_empty_fieldŽ  s    -	'	R6   R   Rk   t   htmlt   latexs   ascii.fixed_widthc         C   s¤  | j  d ƒ j } t | d ƒ  Wd QXt j d d g d d g g d d d g ƒ} t j t ƒ & } | j | d t	 d	 |  d
 | ƒWd QXt
 | j ƒ j d ƒ sª t ‚ t t ƒ   } | j | d	 |  d
 | ƒWd QXt | ƒ d k sð t ‚ t
 | d j ƒ j d ƒ st ‚ | j | d t d	 |  d
 | ƒt | d ƒ ^ } | j | d	 |  d
 | ƒ| j | d t	 d	 |  d
 | ƒ| j | d t d	 |  d
 | ƒWd QXd S(   s1   Test overwrite argument for various ASCII writerss   table-tmp.datR*   NR   RŒ   R   R‚   t	   overwriteR6   R1   s   already existsi   i    se   Automatically overwriting ASCII files is deprecated. Use the argument 'overwrite=True' in the future.(   t   joint   strpatht   openR   RO   R{   R|   t   IOErrorR3   RQ   R5   Rb   t   endswithR:   R   R   R[   R\   RP   (   R6   R1   t   tmpdirt   filenameRy   R}   t   warningt   fp(    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_write_overwrite_asciiž  s,    -t   fmt_name_classc   
   	   C   sq  |  \ } } t  | d t ƒ s" d S| d k r5 t sA | d k rE d St d t ƒ } t ƒ  } | t j j k } y  t j | | d | d | ƒWn t	 k
 r£ d SXd | k rÀ i | j
 d	 6n i  } t j | j ƒ  d | d
 | d t | } | j
 | j
 k st ‚ xb t | j ƒ  | j ƒ  ƒ D]E \ } }	 | j j |	 j j k sNt ‚ t j | |	 k ƒ s$t ‚ q$Wd S(   s   
    Round trip a simple masked table through every writable format and confirm
    that reading back gives the same result.
    t   _io_registry_can_writeNR   t   fixed_widthRM   R6   R1   t	   no_headerRj   t   fast_readert   guess(   t   getattrRP   t   HAS_BEAUTIFUL_SOUPR   R2   R   t   coret   FAST_CLASSESR3   t   ImportErrort   colnamesRF   R7   RQ   R:   t   zipt   itercolsR   t   kindt   npt   all(
   Rœ   t   fmt_namet   fmt_clsRy   R   t   fastR   t   t2t   colt   col2(    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   test_roundtrip_maskedÆ  s&    	 "*((   R)   R*   (   R)   R*   R+   (   R)   R*   (   R)   R*   (   R)   R*   (   R)   R*   (   R)   R*   (   R)   R*   (M   Ru   R?   t	   itertoolsR    R{   t   numpyR«   t   extern.six.movesR   R2   RŒ   R   R   t   table.table_helpersR   t   tests.helperR   t   utils.exceptionsR   R   R   t   commonR	   R
   t   bs4R   R   RP   R£   R¦   RQ   t   dictt   Nonet   Rdbt   Tabt   Csvt   NoHeadert   CommentedHeadert   Latext   AASTexRs   t   HTMLRU   RG   RV   RJ   RK   RM   RS   R>   RB   t   markt   parametrizeRI   RL   RT   RW   R^   Ra   Rc   Rg   Ri   Rl   Rz   R~   R„   RŠ   R‹   RŽ   R›   t   listR¤   R¥   t   itemst   FORMAT_CLASSESt   fmt_name_classesR³   (    (    (    s@   lib/python2.7/site-packages/astropy/io/ascii/tests/test_write.pyt   <module>   s  


	!
	

	%%%7(	$!		$
$$$			$-$		!$$/(,%%,0$'"