code: def get_output_base_path(
              self,
              output_directory,
              output_prefix,
              feature_type,
              overwrite):
          
          path = os.path.join(
              output_directory, '%s%s' % (output_prefix, feature_type))
  
          if overwrite:
  
              # If a shapefile exists, we must remove it (only the .shp)
              shp = '%s.shp' % path
              if os.path.isfile(shp):
                  os.remove(shp)
  
          else:
              separator = '-'
              suffix = self.get_unique_file_path_suffix(
                  '%s.shp' % path, separator)
  
              if suffix:
                  path = os.path.join(output_directory, '%s%s%s%s' % (
                      output_prefix, feature_type, separator, suffix))
  
          return path
docs: Get a full base name path to save the shapefile.
  
          :param output_directory: The directory where to put results.
          :type output_directory: str
  
          :param output_prefix: The prefix to add for the shapefile.
          :type output_prefix: str
  
          :param feature_type: What kind of features should be downloaded.
              Currently 'buildings', 'building-points' or 'roads' are supported.
          :type feature_type: str
  
          :param overwrite: Boolean to know if we can overwrite existing files.
          :type overwrite: bool
  
          :return: The base path.
          :rtype: str