code: def require_directory(self):
          
          path = self.output_directory.text()
  
          if path == '':
              # If let empty, we create an temporary directory
              return
  
          if os.path.exists(path):
              return
  
          title = self.tr('Directory %s not exist') % path
          question = self.tr(
              'Directory %s not exist. Do you want to create it?') % path
          # noinspection PyCallByClass,PyTypeChecker
          answer = QMessageBox.question(
              self, title, question, QMessageBox.Yes | QMessageBox.No)
  
          if answer == QMessageBox.Yes:
              if len(path) != 0:
                  os.makedirs(path)
              else:
                  # noinspection PyCallByClass,PyTypeChecker,PyArgumentList
                  display_warning_message_box(
                      self,
                      self.tr('InaSAFE error'),
                      self.tr('Output directory can not be empty.'))
                  raise CanceledImportDialogError()
          else:
              raise CanceledImportDialogError()
docs: Ensure directory path entered in dialog exist.
  
          When the path does not exist, this function will ask the user if he
          want to create it or not.
  
          :raises: CanceledImportDialogError - when user choose 'No' in
              the question dialog for creating directory.