;ò
îŒü?c           @   s=  d  Z  d k Z d k Z d k Z d k Z d k Z d k Z e e i d ƒ o
 d Z	 n d Z	 e i
 i d ƒ Z e i
 i d ƒ Z e i
 i d ƒ Z e i
 i d ƒ Z e e g Z h  Z d	 „  Z h  Z d
 „  Z d f  d „  ƒ  YZ d f  d „  ƒ  YZ d „  Z e d j o, y e ƒ  Z Wq9e j
 o d GHq9Xn d S(   s3   Find modules used by a script, using introspection.Ns   newliness   Us   rs
   LOAD_CONSTs   IMPORT_NAMEs
   STORE_NAMEs   STORE_GLOBALc         C   s-   t  i |  g  ƒ } | i | ƒ | t  |  <d  S(   N(   s   packagePathMaps   gets   packagenames   pathss   appends   path(   s   packagenames   paths   paths(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   AddPackagePath!   s    c         C   s   | t |  <d  S(   N(   s   newnames   replacePackageMaps   oldname(   s   oldnames   newname(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   ReplacePackage-   s    s   Modulec           B   s    t  Z e e d „ Z d „  Z RS(   Nc         C   s:   | |  _ | |  _ | |  _ t |  _ h  |  _	 h  |  _
 d  S(   N(   s   names   selfs   __name__s   files   __file__s   paths   __path__s   Nones   __code__s   globalnamess   starimports(   s   selfs   names   files   path(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   __init__3   s    					c         C   sl   d |  i } |  i t j	 o | d |  i } n |  i t j	 o | d |  i } n | d } | Sd  S(   Ns	   Module(%ss   , %ss   )(   s   selfs   __name__s   ss   __file__s   Nones   __path__(   s   selfs   s(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   __repr__@   s    
(   s   __name__s
   __module__s   Nones   __init__s   __repr__(    (    (    s)   /mit/python/lib/python2.3/modulefinder.pys   Module1   s   s   ModuleFinderc           B   sø   t  Z e d g  g  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z e e d „ Z	 d	 „  Z
 d
 „  Z d „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z d „  Z d „  Z d „  Z RS(   Ni    c         C   sf   | t j o t i  } n | |  _  h  |  _ h  |  _ | |  _ d |  _ | |  _ | |  _	 g  |  _
 d  S(   Ni    (   s   paths   Nones   syss   selfs   moduless
   badmoduless   debugs   indents   excludess   replace_pathss   processed_paths(   s   selfs   paths   debugs   excludess   replace_paths(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   __init__K   s    							c         G   sV   | |  i j oB x t |  i ƒ D]
 } d Gq  W| Gx | D] } t	 | ƒ Gq9 WHn d  S(   Ns      (
   s   levels   selfs   debugs   ranges   indents   is   strs   argss   args   repr(   s   selfs   levels   strs   argss   is   arg(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   msgW   s      c         G   s?   | d } | |  i j o! |  i d |  _ |  i | Œ  n d  S(   Ni    i   (   s   argss   levels   selfs   debugs   indents   msg(   s   selfs   argss   level(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   msgin`   s    
c         G   s?   | d } | |  i j o! |  i d |  _ |  i | Œ  n d  S(   Ni    i   (   s   argss   levels   selfs   debugs   indents   msg(   s   selfs   argss   level(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   msgoutf   s    
c         C   sN   |  i d d | ƒ t | t ƒ } d d t i f } |  i	 d | | | ƒ d  S(   Ni   s
   run_scripts    s   rs   __main__(
   s   selfs   msgs   pathnames   opens	   READ_MODEs   fps   imps	   PY_SOURCEs   stuffs   load_module(   s   selfs   pathnames   fps   stuff(    (    s)   /mit/python/lib/python2.3/modulefinder.pys
   run_scriptl   s    c         C   sk   t  i i | ƒ \ } } t  i i | ƒ \ } } t | t	 ƒ } | d t i f } |  i | | | | ƒ d  S(   Ns   r(   s   oss   paths   splits   pathnames   dirs   names   splitexts   exts   opens	   READ_MODEs   fps   imps	   PY_SOURCEs   stuffs   selfs   load_module(   s   selfs   pathnames   fps   stuffs   names   exts   dir(    (    s)   /mit/python/lib/python2.3/modulefinder.pys	   load_filer   s
    c         C   sˆ   |  i d d | | | ƒ |  i | ƒ } |  i | | ƒ \ } } |  i
 | | ƒ } | o | Sn | i o |  i | | ƒ n t Sd  S(   Ni   s   import_hook(   s   selfs   msgs   names   callers   fromlists   determine_parents   parents   find_head_packages   qs   tails	   load_tails   ms   __path__s   ensure_fromlists   None(   s   selfs   names   callers   fromlists   parents   ms   qs   tail(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   import_hooky   s    
c         C   sÔ   |  i d d | ƒ | o |  i d d ƒ t Sn | i } | i o( |  i | } |  i d d | ƒ | Sn d | j oA | i
 d ƒ } | |  } |  i | } |  i d d | ƒ | Sn |  i d d ƒ t Sd  S(   Ni   s   determine_parents   determine_parent -> Nones   determine_parent ->s   .(   s   selfs   msgins   callers   msgouts   Nones   __name__s   pnames   __path__s   moduless   parents   rfinds   i(   s   selfs   callers   parents   is   pname(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   determine_parent„   s&    	
 
 c         C   s?  |  i d d | | ƒ d | j o+ | i d ƒ } | |  } | | d } n | } d } | o d | i | f } n | } |  i
 | | | ƒ } | o' |  i d d | | f ƒ | | f Sn | oS | } t } |  i
 | | | ƒ } | o' |  i d d | | f ƒ | | f Sqn |  i d d | ƒ t d	 | ‚ d  S(
   Ni   s   find_head_packages   .i   s    s   %s.%ss   find_head_package ->s"   raise ImportError: No module nameds   No module named (   s   selfs   msgins   parents   names   finds   is   heads   tails   __name__s   qnames   import_modules   qs   msgouts   Nones   ImportError(   s   selfs   parents   names   heads   is   qnames   qs   tail(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   find_head_package™   s.    
c         C   sä   |  i d d | | ƒ | } xª | o¢ | i d ƒ } | d j  o t | ƒ } n | |  | | d f \ } } d | i	 | f } |  i | | | ƒ } | o$ |  i d d | ƒ t d | ‚ q q W|  i d d	 | ƒ | Sd  S(
   Ni   s	   load_tails   .i    i   s   %s.%ss"   raise ImportError: No module nameds   No module named s   load_tail ->(   s   selfs   msgins   qs   tails   ms   finds   is   lens   heads   __name__s   mnames   import_modules   msgouts   ImportError(   s   selfs   qs   tails   heads   is   mnames   m(    (    s)   /mit/python/lib/python2.3/modulefinder.pys	   load_tail´   s      c         C   sÎ   |  i d d | | | ƒ x® | D]¦ } | d j o= | o1 |  i | ƒ } | o |  i | | d ƒ ql qÆ q  t	 | | ƒ oE d | i
 | f } |  i | | | ƒ } | o t d | ‚ qÆ q  q  Wd  S(   Ni   s   ensure_fromlists   *i   s   %s.%ss   No module named (   s   selfs   msgs   ms   fromlists	   recursives   subs   find_all_submoduless   alls   ensure_fromlists   hasattrs   __name__s   subnames   import_modules   submods   ImportError(   s   selfs   ms   fromlists	   recursives   alls   subnames   submods   sub(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   ensure_fromlistÃ   s     c         C   s#  | i o d  Sn h  } g  }
 x% t i ƒ  D] } |
 i | d ƒ q, WxË | i D]À }	 y t	 i
 |	 ƒ } Wn, t	 i j
 o |  i d d |	 ƒ qQ n Xxu | D]m } t } x< |
 D]4 } t | ƒ } | | | j o | |  } Pq³ q³ W| o
 | d j o | | | <q  q  WqQ W| i ƒ  Sd  S(   Ni    i   s   can't list directorys   __init__(   s   ms   __path__s   moduless   suffixess   imps   get_suffixess   triples   appends   dirs   oss   listdirs   namess   errors   selfs   msgs   names   Nones   mods   suffs   lens   ns   keys(   s   selfs   ms   suffs   names   moduless   ns   namess   triples   mods   dirs   suffixes(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   find_all_submodulesÑ   s4     
   	c         C   sF  |  i d d | | | ƒ y |  i | } Wn t j
 o n X|  i d d | ƒ | S|  i	 i
 | ƒ o |  i d d ƒ t Sn y, |  i | | o | i | ƒ \ } } } Wn* t j
 o |  i d d t ƒ t Sn Xz |  i | | | | ƒ } Wd  | o | i ƒ  n X| o t | | | ƒ n |  i d d | ƒ | Sd  S(   Ni   s   import_modules   import_module ->s   import_module -> None(   s   selfs   msgins   partnames   fqnames   parents   moduless   ms   KeyErrors   msgouts
   badmoduless   has_keys   Nones   find_modules   __path__s   fps   pathnames   stuffs   ImportErrors   load_modules   closes   setattr(   s   selfs   partnames   fqnames   parents   fps   ms   stuffs   pathname(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   import_moduleì   s2    	#	  c   
      C   s†  | \ } } } |  i d d | | o d | ƒ | t i	 j o- |  i
 | | ƒ }	 |  i d d |	 ƒ |	 Sn | t i j o  t | i ƒ  d | d ƒ } nw | t i j o` | i d ƒ t i ƒ  j o$ |  i d d | ƒ t d	 | ‚ n | i d ƒ t i | ƒ } n t } |  i | ƒ }	 | |	 _ | o: |  i o |  i | ƒ } n | |	 _ |  i | |	 ƒ n |  i d d |	 ƒ |	 Sd  S(
   Ni   s   load_modules   fps   load_module ->s   
s   execi   s#   raise ImportError: Bad magic numbers   Bad magic number in %s(   s   suffixs   modes   types   selfs   msgins   fqnames   fps   pathnames   imps   PKG_DIRECTORYs   load_packages   ms   msgouts	   PY_SOURCEs   compiles   reads   cos   PY_COMPILEDs	   get_magics   ImportErrors   marshals   loads   Nones
   add_modules   __file__s   replace_pathss   replace_paths_in_codes   __code__s	   scan_code(
   s   selfs   fqnames   fps   pathnames   .8s   suffixs   modes   types   cos   m(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   load_module  s.     	
	c         C   s9   | |  i j o h  |  i | <n d |  i | | i <d  S(   Ni   (   s   names   selfs
   badmoduless   callers   __name__(   s   selfs   names   caller(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   _add_badmodule!  s    c         C   s-  | |  i j o |  i | | ƒ d  Sn y |  i | | ƒ Wn> t j
 o2 } |  i d d t | ƒ ƒ |  i | | ƒ n® X| o¥ x¢ | D]– } | |  i j o |  i | | ƒ q‹ n y |  i | | | g ƒ Wq‹ t j
 o@ } |  i d d t | ƒ ƒ | d | } |  i | | ƒ q‹ Xq‹ Wn d  S(   Ni   s   ImportError:s   .(   s   names   selfs
   badmoduless   _add_badmodules   callers   import_hooks   ImportErrors   msgs   strs   fromlists   subs   fullname(   s   selfs   names   callers   fromlists   msgs   fullnames   sub(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   _safe_import_hook&  s(     c         C   s€  | i } t | ƒ } d } t } x| | j  o| | } | d } t	 | ƒ } | t i j o4 t	 | | ƒ t	 | | d ƒ d } | d } n | t j o | i | } q$ | t j oN| i | } d } | t j	 oS d | j o
 d } n g  i } | D]! }	 |	 d j o | |	 ƒ qq~ } n |  i | | | ƒ | o½ t }
 | i o! |  i i | i d | ƒ }
 n |
 t j o |  i i | ƒ }
 n |
 t j	 oK | i i  |
 i ƒ | i! i  |
 i! ƒ |
 i" t j o d | i! | <qq
d | i! | <q9q$ | t# j o | i | } d | i | <q$ q$ Wx; | i D]0 } t$ | t% | ƒ ƒ o |  i& | | ƒ qHqHWd  S(   Ni    i   i   i   s   *s   .('   s   cos   co_codes   codes   lens   ns   is   Nones   fromlists   cs   ords   ops   diss   HAVE_ARGUMENTs   opargs
   LOAD_CONSTs	   co_constss   IMPORT_NAMEs   co_namess   names	   have_stars   appends   _[1]s   fs   selfs   _safe_import_hooks   ms   mms   __path__s   moduless   gets   __name__s   globalnamess   updates   starimportss   __code__s	   STORE_OPSs
   isinstances   types	   scan_code(   s   selfs   cos   ms   fromlists   codes   opargs	   have_stars   cs   names   fs   mms   ns   _[1]s   is   op(    (    s)   /mit/python/lib/python2.3/modulefinder.pys	   scan_code=  sT    	 

& 
<
!
 c         C   sÅ   |  i d d | | ƒ t i | ƒ } | o
 | } n |  i | ƒ } | | _	 | g | _
 | i
 t i | g  ƒ | _
 |  i d | i
 ƒ \ } } } |  i | | | | ƒ |  i d d | ƒ | Sd  S(   Ni   s   load_packages   __init__s   load_package ->(   s   selfs   msgins   fqnames   pathnames   replacePackageMaps   gets   newnames
   add_modules   ms   __file__s   __path__s   packagePathMaps   find_modules   fps   bufs   stuffs   load_modules   msgout(   s   selfs   fqnames   pathnames   fps   stuffs   newnames   ms   buf(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   load_packager  s    
	c         C   sA   |  i i | ƒ o |  i | Sn t | ƒ |  i | <} | Sd  S(   N(   s   selfs   moduless   has_keys   fqnames   Modules   m(   s   selfs   fqnames   m(    (    s)   /mit/python/lib/python2.3/modulefinder.pys
   add_moduleƒ  s    c         C   s³   | t j	 o | i d | } n | } | |  i j o  |  i d d | ƒ t | ‚ n | t j o: | t
 i j o t t d d t i f f Sn |  i	 } n t i | | ƒ Sd  S(   Ns   .i   s   find_module -> Excludeds    (   s   parents   Nones   __name__s   names   fullnames   selfs   excludess   msgouts   ImportErrors   paths   syss   builtin_module_namess   imps	   C_BUILTINs   find_module(   s   selfs   names   paths   parents   fullname(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   find_module‰  s    c         C   sO  Hd d d f GHd d d f GH|  i i ƒ  } | i ƒ  xH | D]@ } |  i | } | i o d Gn d Gd | G| i p d GHq? W|  i ƒ  \ } } | oR Hd	 GHxI | D]= } |  i | i ƒ  } | i ƒ  d
 G| Gd Gd i | ƒ GHq© Wn | oV Hd Gd GHxI | D]= } |  i | i ƒ  } | i ƒ  d
 G| Gd Gd i | ƒ GHqWn d S(   s’   Print a report to stdout, listing the found modules with their
        paths, as well as modules that are missing, or seem to be missing.
        s
     %-25s %ss   Names   Files   ----s   Ps   ms   %-25ss    s   Missing modules:s   ?s   imported froms   , s7   Submodules thay appear to be missing, but could also bes#   global names in the parent package:N(   s   selfs   moduless   keyss   sorts   keys   ms   __path__s   __file__s   any_missing_maybes   missings   maybes   names
   badmoduless   modss   join(   s   selfs   modss   names   missings   keyss   maybes   ms   key(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   report™  s>     
 
 
" 
c         C   s   |  i ƒ  \ } } | | Sd S(   s½   Return a list of modules that appear to be missing. Use
        any_missing_maybe() if you want to know which modules are
        certain to be missing, and which *may* be missing.
        N(   s   selfs   any_missing_maybes   missings   maybe(   s   selfs   maybes   missing(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   any_missing¾  s     c         C   s2  g  } g  } x|  i D]ö } | |  i j o q n | i d ƒ } | d j  o | i | ƒ q n | | d } | |  } |  i i | ƒ } | t j	 oe | |  i | j o | i | ƒ q| | i j o q| i o | i | ƒ q| i | ƒ q | i | ƒ q W| i ƒ  | i ƒ  | | f Sd S(   s®  Return two lists, one with modules that are certainly missing
        and one with modules that *may* be missing. The latter names could
        either be submodules *or* just global names in the package.

        The reason it can't always be determined is that it's impossible to
        tell which names are imported when "from module import *" is done
        with an extension module, short of actually importing it.
        s   .i    i   N(   s   missings   maybes   selfs
   badmoduless   names   excludess   rfinds   is   appends   subnames   pkgnames   moduless   gets   pkgs   Nones   globalnamess   starimportss   sort(   s   selfs   pkgnames   names   missings   is   maybes   subnames   pkg(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   any_missing_maybeÆ  s4     
 



c         C   s  t  i i | i ƒ } } x@ |  i D]5 \ } } | i | ƒ o | | t | ƒ } Pq# q# W|  i o | |  i j oV | | j o |  i d d | | f ƒ n |  i d d | f ƒ |  i i | ƒ n t | i ƒ } xO t t | ƒ ƒ D]; } t | | t | ƒ ƒ o |  i | | ƒ | | <qî qî Wt i | i | i | i | i | i t  | ƒ | i! | i" | | i# | i$ | i% | i& | i' ƒ Sd  S(   Ni   s   co_filename %r changed to %rs    co_filename %r remains unchanged((   s   oss   paths   normpaths   cos   co_filenames   new_filenames   original_filenames   selfs   replace_pathss   fs   rs
   startswiths   lens   debugs   processed_pathss   msgouts   appends   lists	   co_constss   constss   ranges   is
   isinstances   types   replace_paths_in_codes   news   codes   co_argcounts
   co_nlocalss   co_stacksizes   co_flagss   co_codes   tuples   co_namess   co_varnamess   co_names   co_firstlinenos	   co_lnotabs   co_freevarss   co_cellvars(   s   selfs   cos   new_filenames   fs   is   constss   rs   original_filename(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   replace_paths_in_codeô  s*    
 	 (   s   __name__s
   __module__s   Nones   __init__s   msgs   msgins   msgouts
   run_scripts	   load_files   import_hooks   determine_parents   find_head_packages	   load_tails   ensure_fromlists   find_all_submoduless   import_modules   load_modules   _add_badmodules   _safe_import_hooks	   scan_codes   load_packages
   add_modules   find_modules   reports   any_missings   any_missing_maybes   replace_paths_in_code(    (    (    s)   /mit/python/lib/python2.3/modulefinder.pys   ModuleFinderI   s0   															5			%		.c          C   s8  d  k  } y# | i  t i d d ƒ \ } } Wn! | i j
 o } | GHd  Sn Xd } d } g  } g  }
 x¢ | D]š \ } }  | d j o | d } n | d j o
 d } n | d j o | |  i t i ƒ } n | d j o
 d } n | d j o |
 i |  ƒ qo qo W| o
 d	 } n | d } t i } t i i | ƒ | d <| | } | d j o$ d
 GHx | D] }	 d G|	 GHqlWn t | | |
 ƒ } x€ | d D]t } | d j o d } q¡n | o@ | d d j o | i | d  t d g ƒ q| i | ƒ q¡| i | ƒ q¡W| i | ƒ | i ƒ  | Sd  S(   Ni   s   dmp:qx:i    s   -ds   -ms   -ps   -qs   -xs   hello.pys   path:s      iþÿÿÿs   .*s   *(   s   getopts   syss   argvs   optss   argss   errors   msgs   debugs   domodss   addpaths   excludes   os   as   splits   oss   pathseps   appends   scripts   paths   dirnames   items   ModuleFinders   mfs   args   import_hooks   Nones	   load_files
   run_scripts   report(   s   as   addpaths   scripts   args   argss   os   msgs   domodss   mfs   items   excludes   debugs   getopts   paths   opts(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   test  s^    	#	 





  
s   __main__s   
[interrupt](   s   __doc__s   diss   imps   marshals   oss   syss   news   hasattrs
   __stdout__s	   READ_MODEs   opnames   indexs
   LOAD_CONSTs   IMPORT_NAMEs
   STORE_NAMEs   STORE_GLOBALs	   STORE_OPSs   packagePathMaps   AddPackagePaths   replacePackageMaps   ReplacePackages   Modules   ModuleFinders   tests   __name__s   mfs   KeyboardInterrupt(   s   STORE_GLOBALs   AddPackagePaths
   STORE_NAMEs	   READ_MODEs   ReplacePackages	   STORE_OPSs   imps   packagePathMaps   tests   news   IMPORT_NAMEs   syss
   LOAD_CONSTs   mfs   ModuleFinders   Modules   replacePackageMaps   oss   marshals   dis(    (    s)   /mit/python/lib/python2.3/modulefinder.pys   ?   s6   						
		ÿ È	;