ó
á™xTc           @   s|   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z e j d ƒ Z d „  Z	 e
 d k rx e	 e j d ƒ n  d S(   iÿÿÿÿ(   t   divisionNs   #include\s*<boost(?:/|_)pythonc      
   C   s   g  |  D] } t  j j | ƒ ^ q } i  } x,| D]$} xt j | ƒ D]
\ } } } xø | D]ð } | j d ƒ ry q^ n  t j j | ƒ \ }	 }
 |
 d k r£ q^ n  t } d } t	 t j j
 | | ƒ ƒ �A } x7 | D]/ } | d 7} | rÔ t j | ƒ rÔ t } qÔ qÔ WWd  QX| rd } n |
 s+d } n
 |
 d } | j | g  ƒ j | ƒ q^ WqH Wq2 Wd d	 j
 |  ƒ GHd
 d GHg  } xC | j ƒ  D]5 \ } } t | ƒ } | j | d | | f f ƒ qˆW| j d t ƒ g  | D] } | d ^ qØ} d j
 | ƒ GHd  S(   Nt   .s   .pyos   .pyci    i   s   Boost.Pythont   unknowns   Lines of code in %ss   , s   %-15s%8st	   extensions   #liness   %-15s%8dt   reverses   
(   s   .pyos   .pyc(   R   s   #lines(   t   libtbxt   envt	   dist_patht   ost   walkt
   startswitht   patht   splitextt   Falset   opent   joint   boost_python_include_patt   searcht   Truet
   setdefaultt   appendt	   iteritemst   sumt   sort(   t   modulest   mt   directory_pathst   line_counts_in_files_of_typet   dt   roott   dirst   filest   ft   _t   extt   boost_python_bindingt   n_linest   fot   lit	   file_typet   outputt   line_countst   cntt   entry(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/command_line/line_count.pyt   run   sB    %  
		
%	!t   __main__i   (   t
   __future__R    t   sysR   t   ret   libtbx.load_envR   t   compileR   R,   t   __name__t   argv(    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/command_line/line_count.pyt   <module>   s   	#