diff options
Diffstat (limited to 'megapixels/app/models/sql_factory.py')
| -rw-r--r-- | megapixels/app/models/sql_factory.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/megapixels/app/models/sql_factory.py b/megapixels/app/models/sql_factory.py index 25c7e784..a71eabb0 100644 --- a/megapixels/app/models/sql_factory.py +++ b/megapixels/app/models/sql_factory.py @@ -62,9 +62,7 @@ def load_sql_dataset(path, replace=False, engine=None, base_model=None): df = pd.read_csv(fn) # fix columns that are named "index", a sql reserved word df.reindex_axis(sorted(df.columns), axis=1) - print(df.columns) columns = [column.name for column in table.__table__.columns] - print(columns) df.columns = columns df.to_sql(name=table.__tablename__, con=engine, if_exists='replace', index=False) return dataset @@ -97,15 +95,23 @@ class SqlDataset: """ Get an identity given an ID. """ - table = self.get_table('identity') # id += 1 - identity = table.query.filter(table.record_id <= id).order_by(table.record_id.desc()).first().toJSON() - return { - 'uuid': self.select('uuids', id), - 'identity': identity, - 'roi': self.select('roi', id), - 'pose': self.select('pose', id), - } + print('fetching {}'.format(id)) + + file_record_table = self.get_table('file_record') + file_record = file_record_table.query.filter(file_record_table.id == id).first() + + identity_table = self.get_table('identity') + identity = identity_table.query.filter(identity_table.id == file_record.identity_id).first() + + if file_record and identity: + return { + 'file_record': file_record.toJSON(), + 'identity': identity.toJSON(), + 'face_roi': self.select('face_roi', id), + 'face_pose': self.select('face_pose', id), + } + return {} def search_name(self, q): """ |
