ó
šßÈ[c           @   sø   d  d l  m Z m Z 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 y d  d l Z Wn e k
 r e Z n Xe Z e e e	 j ƒ ƒ Z d Z d	 Z d
 „  Z d „  Z d „  Z d „  Z e j j d ƒ d „  ƒ Z d S(   iÿÿÿÿ(   t   abspatht   dirnamet   joinNi   (   t   Tablei   (   t   extern(   t   zipsâ  
<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-type"/>
  <style>
body {font-family: sans-serif;}
table.dataTable {width: auto !important; margin: 0 !important;}
.dataTables_filter, .dataTables_paginate {float: left !important; margin-left:1em}
  </style>
  <link href="%(datatables_css_url)s" rel="stylesheet" type="text/css"/>
  <script src="%(jquery_url)s">
  </script>
  <script src="%(datatables_js_url)s">
  </script>
 </head>
 <body>
  <script>
var astropy_sort_num = function(a, b) {
    var a_num = parseFloat(a);
    var b_num = parseFloat(b);

    if (isNaN(a_num) && isNaN(b_num))
        return ((a < b) ? -1 : ((a > b) ? 1 : 0));
    else if (!isNaN(a_num) && !isNaN(b_num))
        return ((a_num < b_num) ? -1 : ((a_num > b_num) ? 1 : 0));
    else
        return isNaN(a_num) ? -1 : 1;
}

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
    "optionalnum-asc": astropy_sort_num,
    "optionalnum-desc": function (a,b) { return -astropy_sort_num(a, b); }
});

$(document).ready(function() {
    $('#%(table_id)s').dataTable({
        order: [],
        pageLength: %(length)s,
        lengthMenu: [[%(display_length)s, -1], [%(display_length)s, 'All']],
        pagingType: "full_numbers",
        columnDefs: [{targets: [0], type: "optionalnum"}]
    });
} );  </script>
  <table class="%(table_class)s" id="%(table_id)s">
   <thead>
    <tr>
     <th>a</th>
     <th>b</th>
    </tr>
   </thead>
%(lines)s
  </table>
 </body>
</html>
s2      <tr>
    <td>{0}</td>
    <td>{1}</td>
   </tr>c         C   s    d j  d „  t |  | ƒ Dƒ ƒ S(   Ns   
c         s   s'   |  ] \ } } t  j | | ƒ Vq d  S(   N(   t   TPLt   format(   t   .0t   at   b(    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_jsviewer.pys	   <genexpr>S   s    (   R   R   (   t   col1t   col2(    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_jsviewer.pyt   format_linesR   s    c         C   s  t  ƒ  } d d d d d g | d <d d d d	 d
 g | d <d | d _ |  j d ƒ j } | j | d d ƒt t d t | d | d ƒ d d d d t | ƒ d d d d d d d d d d ƒ } t	 | ƒ + } | j
 ƒ  j ƒ  | j ƒ  k sø t ‚ Wd  QXd  S(   Ni   i   i   i   i   R	   R
   t   ct   dt   et   ms	   test.htmlR   t   jsviewert   linest   table_classs   display compactt   table_ids   table%st   lengtht   50t   display_lengths   10, 25, 50, 100, 500, 1000t   datatables_css_urls<   https://cdn.datatables.net/1.10.12/css/jquery.dataTables.csst   datatables_js_urls>   https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.jst
   jquery_urls+   https://code.jquery.com/jquery-3.1.1.min.js(   R   t   unitR   t   strpatht   writet	   REFERENCEt   dictR   t   idt   opent   readt   stript   AssertionError(   t   tmpdirt   tt   tmpfilet   reft   f(    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_jsviewer.pyt   test_write_jsviewer_defaultV   s"    		
c         C   s  t  ƒ  } d d d d d g | d <d d d d	 d
 g | d <d | d _ |  j d ƒ j } | j | d d d d d d d i d d 6d d ƒt t d t | d d  | d d  ƒ d d d d d d d d d d d d d d ƒ } t | ƒ + } | j	 ƒ  j
 ƒ  | j
 ƒ  k st ‚ Wd  QXd  S(    Ni   i   i   i   i   R	   R
   R   R   R   R   s	   test.htmlR   R   R   t   testt	   max_linest   jskwargsR   R   s   display hoverR   R   t   5s   5, 10, 25, 50, 100, 500, 1000R   s<   https://cdn.datatables.net/1.10.12/css/jquery.dataTables.cssR   s>   https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.jsR   s+   https://code.jquery.com/jquery-3.1.1.min.js(   R   R   R   R   R   R   R    R   R"   R#   R$   R%   (   R&   R'   R(   R)   R*   (    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_jsviewer.pyt   test_write_jsviewer_optionsm   s$    		
c         C   s;  t  ƒ  } d d d d d g | d <d d d d	 d
 g | d <d | d _ |  j d ƒ j } | j | d d d d d i t d 6ƒt t d t | d | d ƒ d d d d d d d d d d t t	 d d ƒ d d t t	 d d  ƒ d! d t t	 d d" ƒ ƒ } t
 | ƒ + } | j ƒ  j ƒ  | j ƒ  k s1t ‚ Wd  QXd  S(#   Ni   i   i   i   i   R	   R
   R   R   R   R   s	   test.htmlR   R   R   R,   R.   t   use_local_filesR   R   s   display compactR   R   R   s   10, 25, 50, 100, 500, 1000R   s   file://t   csss   jquery.dataTables.cssR   t   jss   jquery.dataTables.min.jsR   s   jquery-3.1.1.min.js(   R   R   R   R   R   t   TrueR   R    R   t
   EXTERN_DIRR"   R#   R$   R%   (   R&   R'   R(   R)   R*   (    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_jsviewer.pyt   test_write_jsviewer_local…   s$    		s   not HAS_IPYTHONc          C   s½   t  ƒ  }  d d d d d g |  d <d d d d	 d
 g |  d <|  j ƒ  j } |  j d d ƒ j } |  j d t ƒ j } t j d ƒ j ƒ  | k s• t ‚ d | k s§ t ‚ d | k s¹ t ‚ d  S(   Ni   i   i   i   i   R	   R
   R   R   R   t   show_row_indext   realidxs  
    <thead><tr><th>idx</th><th>a</th><th>b</th></tr></thead>
    <tr><td>0</td><td>1</td><td>b</td></tr>
    <tr><td>1</td><td>2</td><td>c</td></tr>
    <tr><td>2</td><td>3</td><td>a</td></tr>
    <tr><td>3</td><td>4</td><td>d</td></tr>
    <tr><td>4</td><td>5</td><td>e</td></tr>
    s<   <thead><tr><th>realidx</th><th>a</th><th>b</th></tr></thead>s,   <thead><tr><th>a</th><th>b</th></tr></thead>(   R   t   show_in_notebookt   datat   Falset   textwrapt   dedentR$   R%   (   R'   t   htmlstr_windxt   htmlstr_windx_namedt   htmlstr_woindx(    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_jsviewer.pyt   test_show_in_notebook   s    	(   t   os.pathR    R   R   R<   t   pytestt   tableR   t    R   t   extern.six.movesR   t   IPythont   ImportErrorR;   t   HAS_IPYTHONR4   t   __file__R5   R   R   R   R+   R0   R6   t   markt   skipifRA   (    (    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_jsviewer.pyt   <module>   s$   
9				