Source code for geoips.interfaces.module_based.filename_formatters

# # # This source code is subject to the license referenced at
# # # https://github.com/NRLMMD-GEOIPS.

"""Filename formatters interface module."""

from geoips.interfaces.base import BaseModuleInterface


[docs]class FilenameFormattersInterface(BaseModuleInterface): """Specification for formatting the full path and file name. File path and name formatting is determined using attributes within the GeoIPS xarray objects. """ name = "filename_formatters" required_args = { "standard": ["area_def", "xarray_obj", "product_name"], "xarray_metadata_to_filename": ["xarray_obj"], "data": ["area_def", "xarray_obj", "product_names"], "standard_metadata": ["area_def", "xarray_obj", "product_filename"], "xarray_area_product_to_filename": ["xarray_obj", "area_def", "product_name"], } required_kwargs = { "standard": [ "coverage", "output_type", "output_type_dir", "product_dir", "product_subdir", "source_dir", "basedir", ], "xarray_metadata_to_filename": ["extension", "basedir"], "data": [ "coverage", "output_type", "output_type_dir", "product_dir", "product_subdir", "source_dir", "basedir", ], "standard_metadata": ["metadata_dir", "metadata_type", "basedir"], "xarray_area_product_to_filename": ["output_type", "basedir", "extra_field"], }
# The functions below were commented out as they included errors, and were not used # by GeoIPS at this time. 9/27/23 # def find_duplicates(self, *args, **kwargs): # """Find duplicate files.""" # try: # func = self.get_plugin_attr(name, "find_duplicates") # except AttributeError: # raise AttributeError( # f'Plugin {name} does not have a "find_duplicates" function.' # ) # duplicates = func() # def remove_duplicates(self): # """Remove duplicate files.""" # duplicates = self.find_duplicates() filename_formatters = FilenameFormattersInterface()