cedadev / ceda-di

Other
2 stars 2 forks source link

API for extending the list of file formats that are supported #3

Closed stephenpascoe closed 10 years ago

stephenpascoe commented 10 years ago

The modules envi_geo, exif_geo, hdf4_geo and netcdf_geo are examples of file formats that ceda-di can understand. It should be possible to extend this list easily, at least from within a checkout of the repository. In the future it would be nice to be able to add file formats as a plugin (i.e. without changing the ceda-di package).

As a first step we should generalise the imports in main.py and the functions "process_*()" so that a new file format module can be wired-in with 1 line in main.py. This will require having hooks for detecting the format handler from the filename and/or configuration.

charlienewey commented 10 years ago

The user can now define extra data handler classes in main config file "ceda_di/python/config/ceda_di.json" (see "handlers" section). Uses reflection and a handler factory (in "ceda_di/python/ceda_di/main.py") to determine correct class.