code: def iterSourceCode(paths):
      
      for path in paths:
          if os.path.isdir(path):
              for dirpath, dirnames, filenames in os.walk(path):
                  for filename in filenames:
                      if filename.endswith('.py'):
                          yield os.path.join(dirpath, filename)
          else:
              yield path
docs: Iterate over all Python source files in C{paths}.
  
      @param paths: A list of paths.  Directories will be recursed into and
          any .py files found will be yielded.  Any non-directories will be
          yielded as-is.