
߯][c           @@ sd  d  d l  m Z m Z d  d l m Z d  d l m Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 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 e j e j e   Z e e  Z i i e d
 6d 6d f e d <i i e d 6d 6d f e d <e e  Z d e d <d e f d     YZ d   Z e d k r`e j    n  d S(   i    (   t   print_functiont   absolute_import(   t   ThreadPoolExecutor(   t   pathN(   t   IOLoop(   t   flagst   aliases(   t   Booli   (   t   LabAppt   get_app_dirt	   core_modet
   BrowserApps   Start the app in core mode.s	   core-modet   dev_modes   Start the app in dev mode.s   dev-modes   BrowserApp.app_dirs   app-dirc           B@ s>   e  Z e e  Z d  Z d Z e Z e	 Z
 d   Z d   Z RS(   s   /foo/s	   127.0.0.1c         C@ s   |  j  } | j j d t    t | j d d <t | j d d <t   } | j t |  j	  } t
 j   j | |  j  t t |   j   d  S(   Nt   page_config_datat   browserTestt   buildAvailable(   t   web_appt   settingst
   setdefaultt   dictt   Truet   FalseR   t   submitt   run_browsert   display_urlR   t   currentt
   add_futuret   _browser_finishedt   superR   t   start(   t   selfR   t   poolt   future(    (    s7   lib/python2.7/site-packages/jupyterlab/browser_check.pyR   +   s    		c         C@ sT   y t  j | j    Wn6 t k
 rO } |  j j t |   t  j d  n Xd  S(   Ni   (   t   syst   exitt   resultt	   Exceptiont   logt   errort   str(   R   R    t   e(    (    s7   lib/python2.7/site-packages/jupyterlab/browser_check.pyR   6   s
    (   t   __name__t
   __module__R   R   t   open_browsert   base_urlt   ipt
   test_flagsR   t   test_aliasesR   R   R   (    (    (    s7   lib/python2.7/site-packages/jupyterlab/browser_check.pyR   #   s   	c         C@ s   t  j t   d  } t  j t  j | d   sr t j |  t j d g d | t j d d d g d | n  t j	 t  j t
 d  t  j | d   t j d d |  g d | S(	   s2   Run the browser test and return an exit code.
    t   browser_testt   node_modulest   jlpmt   cwdt   addt	   puppeteers   chrome-test.jst   node(   t   ospt   joinR	   t   existst   ost   makedirst
   subprocesst   callt   shutilt   copyt   heret
   check_call(   t   urlt   target(    (    s7   lib/python2.7/site-packages/jupyterlab/browser_check.pyR   >   s    (t   __main__(!   t
   __future__R    R   t   concurrent.futuresR   R:   R   R7   R>   R!   R<   t   tornado.ioloopR   t   notebook.notebookappR   R   t	   traitletsR   t   labappR   R	   t   abspatht   dirnamet   __file__R@   R   R.   R   R/   R   R   R)   t   launch_instance(    (    (    s7   lib/python2.7/site-packages/jupyterlab/browser_check.pyt   <module>   s,   
	