Skip to content
Snippets Groups Projects
Commit 04ff36c2 authored by Manuel Günther's avatar Manuel Günther Committed by Tiago de Freitas Pereira
Browse files

Updated dummy databases to work with bob.db.atnt directly and return BioFile or BioFileSet objects

parent 1d88685f
No related branches found
No related tags found
1 merge request!37Issue 8 remove database configuration
from bob.bio.db import ZTBioDatabase, AtntBioDatabase from bob.bio.db import ZTBioDatabase, BioFile
from bob.bio.base.test.utils import atnt_database_directory from bob.bio.base.test.utils import atnt_database_directory
...@@ -14,13 +14,17 @@ class DummyDatabase(ZTBioDatabase): ...@@ -14,13 +14,17 @@ class DummyDatabase(ZTBioDatabase):
training_depends_on_protocol=False, training_depends_on_protocol=False,
models_depend_on_protocol=False models_depend_on_protocol=False
) )
self.__db = AtntBioDatabase() import bob.db.atnt
self.__db = bob.db.atnt.Database()
def _make_bio(self, files):
return [BioFile(client_id=f.client_id, path=f.path, file_id=f.id) for f in files]
def model_ids_with_protocol(self, groups=None, protocol=None, **kwargs): def model_ids_with_protocol(self, groups=None, protocol=None, **kwargs):
return self.__db.model_ids_with_protocol(groups, protocol) return self.__db.model_ids(groups, protocol)
def objects(self, groups=None, protocol=None, purposes=None, model_ids=None, **kwargs): def objects(self, groups=None, protocol=None, purposes=None, model_ids=None, **kwargs):
return self.__db.objects(groups, protocol, purposes, model_ids, **kwargs) return self._make_bio(self.__db.objects(model_ids, groups, purposes, protocol, **kwargs))
def tobjects(self, groups=None, protocol=None, model_ids=None, **kwargs): def tobjects(self, groups=None, protocol=None, model_ids=None, **kwargs):
return [] return []
...@@ -29,7 +33,7 @@ class DummyDatabase(ZTBioDatabase): ...@@ -29,7 +33,7 @@ class DummyDatabase(ZTBioDatabase):
return [] return []
def tmodel_ids_with_protocol(self, protocol=None, groups=None, **kwargs): def tmodel_ids_with_protocol(self, protocol=None, groups=None, **kwargs):
return self.__db.model_ids_with_protocol(groups, protocol) return self.__db.model_ids(groups)
def t_enroll_files(self, t_model_id, group='dev'): def t_enroll_files(self, t_model_id, group='dev'):
return self.enroll_files(t_model_id, group) return self.enroll_files(t_model_id, group)
......
from bob.bio.db import ZTBioDatabase, BioFileSet, BioFile from bob.bio.db import ZTBioDatabase, BioFileSet, BioFile
from bob.bio.base.test.utils import atnt_database_directory from bob.bio.base.test.utils import atnt_database_directory
class DummyDatabase(ZTBioDatabase): class DummyDatabase(ZTBioDatabase):
def __init__(self): def __init__(self):
...@@ -20,25 +19,21 @@ class DummyDatabase(ZTBioDatabase): ...@@ -20,25 +19,21 @@ class DummyDatabase(ZTBioDatabase):
def uses_probe_file_sets(self): def uses_probe_file_sets(self):
return True return True
def _make_bio(self, files):
return [BioFile(client_id=f.client_id, path=f.path, file_id=f.id) for f in files]
def probe_file_sets(self, model_id=None, group='dev'): def probe_file_sets(self, model_id=None, group='dev'):
"""Returns the list of probe File objects (for the given model id, if given).""" """Returns the list of probe File objects (for the given model id, if given)."""
# import ipdb; ipdb.set_trace()
files = self.arrange_by_client(self.sort(self.objects(protocol=None, groups=group, purposes='probe'))) files = self.arrange_by_client(self.sort(self.objects(protocol=None, groups=group, purposes='probe')))
# arrange files by clients # arrange files by clients
file_sets = [] file_sets = [BioFileSet(client_files[0].client_id, client_files) for client_files in files]
for client_files in files:
# convert into our File objects (so that they are tested as well)
our_files = [BioFile(f.client_id, f.path, f.id) for f in client_files]
# generate file set for each client
file_set = BioFileSet(our_files[0].client_id, our_files)
file_sets.append(file_set)
return file_sets return file_sets
def model_ids_with_protocol(self, groups=None, protocol=None, **kwargs): def model_ids_with_protocol(self, groups=None, protocol=None, **kwargs):
return self.__db.model_ids(groups, protocol) return self.__db.model_ids(groups, protocol)
def objects(self, groups=None, protocol=None, purposes=None, model_ids=None, **kwargs): def objects(self, groups=None, protocol=None, purposes=None, model_ids=None, **kwargs):
return self.__db.objects(model_ids, groups, purposes, protocol, **kwargs) return self._make_bio(self.__db.objects(model_ids, groups, purposes, protocol, **kwargs))
def tobjects(self, groups=None, protocol=None, model_ids=None, **kwargs): def tobjects(self, groups=None, protocol=None, model_ids=None, **kwargs):
return [] return []
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment