diff options
| author | adamhrv <adam@ahprojects.com> | 2018-12-16 19:37:58 +0100 |
|---|---|---|
| committer | adamhrv <adam@ahprojects.com> | 2018-12-16 19:37:58 +0100 |
| commit | c3839ea797401d740db64691c0b4922c935b131c (patch) | |
| tree | ef64b6b441dd677a41f79a423af8b7a44e68b23f /megapixels/app/models/data_store.py | |
| parent | 10f467b64e3be528ac246d5cf664d675aca3e7f3 (diff) | |
still sorting CSV vectors indexes
Diffstat (limited to 'megapixels/app/models/data_store.py')
| -rw-r--r-- | megapixels/app/models/data_store.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/megapixels/app/models/data_store.py b/megapixels/app/models/data_store.py new file mode 100644 index 00000000..8ec1f8ba --- /dev/null +++ b/megapixels/app/models/data_store.py @@ -0,0 +1,55 @@ +import os +from os.path import join +import logging + +from app.settings import app_cfg as cfg +from app.settings import types + + +# ------------------------------------------------------------------------- +# Metadata and media files +# ------------------------------------------------------------------------- + +class DataStore: + # local data store + def __init__(self, opt_data_store, opt_dataset): + self.data_store = join(f'/data_store_{opt_data_store.name.lower()}') + self.dir_dataset = join(self.data_store, 'datasets', cfg.DIR_PEOPLE, opt_dataset.name.lower()) + self.dir_media = join(self.dir_dataset, 'media') + self.dir_metadata = join(self.dir_dataset, 'metadata') + + def metadata(self, enum_type): + return join(self.dir_metadata, f'{enum_type.name.lower()}.csv') + + def media_images_original(self): + return join(self.dir_media, 'original') + + def face_image(self, subdir, fn, ext): + return join(self.dir_media, 'original', subdir, f'{fn}.{ext}') + + def face_image_crop(self, subdir, fn, ext): + return join(self.dir_media, 'cropped', subdir, f'{fn}.{ext}') + + +class DataStoreS3: + # S3 server + def __init__(self, opt_dataset): + self._dir_media = join(cfg.S3_HTTP_MEDIA_URL, opt_dataset.name.lower()) + self._dir_metadata = join(cfg.S3_HTTP_METADATA_URL, opt_dataset.name.lower()) + + def metadata(self, opt_metadata_type, ext='csv'): + return join(self._dir_metadata, f'{opt_metadata_type.name.lower()}.{ext}') + + def face_image(self, opt_uuid, ext='jpg'): + #return join(self._dir_media, 'original', f'{opt_uuid}.{ext}') + return join(self._dir_media, f'{opt_uuid}.{ext}') + + def face_image_crop(self, opt_uuid, ext='jpg'): + # not currently using? + return join(self._dir_media, 'cropped', f'{opt_uuid}.{ext}') + + + +# ------------------------------------------------------------------------- +# Models +# -------------------------------------------------------------------------
\ No newline at end of file |
