code: def directory_remove_recursive(self, path, flags):
          
          if not isinstance(path, basestring):
              raise TypeError("path can only be an instance of type basestring")
          if not isinstance(flags, list):
              raise TypeError("flags can only be an instance of type list")
          for a in flags[:10]:
              if not isinstance(a, DirectoryRemoveRecFlag):
                  raise TypeError(
                          "array can only contain objects of type DirectoryRemoveRecFlag")
          progress = self._call("directoryRemoveRecursive",
                       in_p=[path, flags])
          progress = IProgress(progress)
          return progress
docs: Removes a guest directory recursively.
          
          <!--  Add this back when the warning can be removed:
          Unless :py:attr:`DirectoryRemoveRecFlag.content_and_dir`  or
          :py:attr:`DirectoryRemoveRecFlag.content_only`  is given, only the
          directory structure is removed.  Which means it will fail if there are
          directories which are not empty in the directory tree @a path points to.
          -->
          
          WARNING!! THE FLAGS ARE NOT CURRENTLY IMPLEMENTED.  THE IMPLEMENTATION
          WORKS AS IF FLAGS WAS SET TO :py:attr:`DirectoryRemoveRecFlag.content_and_dir` .
          
          
          If the final path component is a symbolic link, this method will
          fail as it can only be applied to directories.
  
          in path of type str
              Path of the directory that is to be removed recursively. Guest
              path style.
  
          in flags of type :class:`DirectoryRemoveRecFlag`
              Zero or more :py:class:`DirectoryRemoveRecFlag`  flags.
              WARNING! SPECIFYING :py:attr:`DirectoryRemoveRecFlag.content_and_dir`  IS
              MANDATORY AT THE MOMENT!!
  
          return progress of type :class:`IProgress`
              Progress object to track the operation completion. This is not implemented
              yet and therefore this method call will block until deletion is completed.