parameters: (module, symbol, default=-1, paths=None)
return_statement: return extract_constant(code, symbol, default)
docstring: Find 'module' by searching 'paths', and extract 'symbol'
  
      Return 'None' if 'module' does not exist on 'paths', or it does not define
      'symbol'.  If the module defines 'symbol' as a constant, return the
      constant.  Otherwise, return 'default'.
docstring_summary: Find 'module' by searching 'paths', and extract 'symbol'
docstring_tokens: Find module by searching paths and extract symbol
function: def get_module_constant(module, symbol, default=-1, paths=None):
      """Find 'module' by searching 'paths', and extract 'symbol'
  
      Return 'None' if 'module' does not exist on 'paths', or it does not define
      'symbol'.  If the module defines 'symbol' as a constant, return the
      constant.  Otherwise, return 'default'."""
  
      try:
          f, path, (suffix, mode, kind) = find_module(module, paths)
      except ImportError:
          # Module doesn't exist
          return None
  
      try:
          if kind == PY_COMPILED:
              f.read(8)  # skip magic & date
              code = marshal.load(f)
          elif kind == PY_FROZEN:
              code = imp.get_frozen_object(module)
          elif kind == PY_SOURCE:
              code = compile(f.read(), path, 'exec')
          else:
              # Not something we can parse; we'll have to import it.  :(
              if module not in sys.modules:
                  imp.load_module(module, f, path, (suffix, mode, kind))
              return getattr(sys.modules[module], symbol, None)
  
      finally:
          if f:
              f.close()
  
      return extract_constant(code, symbol, default)
function_tokens: def get_module_constant ( module , symbol , default = - 1 , paths = None ) : try : f , path , ( suffix , mode , kind ) = find_module ( module , paths ) except ImportError : # Module doesn't exist return None try : if kind == PY_COMPILED : f . read ( 8 ) # skip magic & date code = marshal . load ( f ) elif kind == PY_FROZEN : code = imp . get_frozen_object ( module ) elif kind == PY_SOURCE : code = compile ( f . read ( ) , path , 'exec' ) else : # Not something we can parse; we'll have to import it.  :( if module not in sys . modules : imp . load_module ( module , f , path , ( suffix , mode , kind ) ) return getattr ( sys . modules [ module ] , symbol , None ) finally : if f : f . close ( ) return extract_constant ( code , symbol , default )