parameters: (self, dir_name, write=False, doctests_only=False)
docstring: Descends down a directory and refactor every Python file found.
  
          Python files are assumed to have a .py extension.
  
          Files and subdirectories starting with '.' are skipped.
docstring_summary: Descends down a directory and refactor every Python file found.
docstring_tokens: Descends down a directory and refactor every Python file found .
function: def refactor_dir(self, dir_name, write=False, doctests_only=False):
          """Descends down a directory and refactor every Python file found.
  
          Python files are assumed to have a .py extension.
  
          Files and subdirectories starting with '.' are skipped.
          """
          py_ext = os.extsep + "py"
          for dirpath, dirnames, filenames in os.walk(dir_name):
              self.log_debug("Descending into %s", dirpath)
              dirnames.sort()
              filenames.sort()
              for name in filenames:
                  if (not name.startswith(".") and
                      os.path.splitext(name)[1] == py_ext):
                      fullname = os.path.join(dirpath, name)
                      self.refactor_file(fullname, write, doctests_only)
              # Modify dirnames in-place to remove subdirs with leading dots
              dirnames[:] = [dn for dn in dirnames if not dn.startswith(".")]
function_tokens: def refactor_dir ( self , dir_name , write = False , doctests_only = False ) : py_ext = os . extsep + "py" for dirpath , dirnames , filenames in os . walk ( dir_name ) : self . log_debug ( "Descending into %s" , dirpath ) dirnames . sort ( ) filenames . sort ( ) for name in filenames : if ( not name . startswith ( "." ) and os . path . splitext ( name ) [ 1 ] == py_ext ) : fullname = os . path . join ( dirpath , name ) self . refactor_file ( fullname , write , doctests_only ) # Modify dirnames in-place to remove subdirs with leading dots dirnames [ : ] = [ dn for dn in dirnames if not dn . startswith ( "." ) ]