1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
import os
from os.path import join
import logging
from app.utils.logger_utils import Logger
from app.settings import app_cfg as cfg
from app.settings import types
# -------------------------------------------------------------------------
# Metadata and media files
# -------------------------------------------------------------------------
class DataStore:
# local data store
log = Logger.getLogger()
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')
@property
def dir_dataset(self):
return self._dir_dataset
@property
def dir_media(self):
return self._dir_media
@property
def dir_media_original(self):
return join(self._dir_media, 'original')
@property
def dir_metadata(self):
return self._dir_metadata
def metadata_dir(self):
self.log.warn('deprecated. use dir_metadata')
return self._dir_metadata
def media_dir(self):
self.log.warn('deprecated. use dir_media')
return self._dir_media
def media_images_original(self):
return join(self._dir_media, 'original')
def face(self, subdir, fn, ext):
if subdir == '' or subdir is None:
subdir = '.'
return join(self._dir_media, 'original', subdir, f'{fn}.{ext}')
def face_crop(self, subdir, fn, ext):
return join(self._dir_media, 'cropped', subdir, f'{fn}.{ext}')
def face_uuid(self, uuid, ext):
return join(self._dir_media, 'uuid',f'{uuid}.{ext}')
def face_crop_uuid(self, uuid, ext):
return join(self._dir_media, 'uuid', f'{uuid}.{ext}')
def uuid_dir(self):
return join(self._dir_media, 'uuid')
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(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_crop(self, opt_uuid, ext='jpg'):
# not currently using?
return join(self._dir_media, 'cropped', f'{opt_uuid}.{ext}')
# -------------------------------------------------------------------------
# Models
# -------------------------------------------------------------------------
|