def __init__(self, dataDir): super(FileSystemBackend, self).__init__() self._dataDir = dataDir # TODO this code is very ugly and should be regarded as a temporary # stop-gap until we deal with iterating over the data tree properly. # References referencesDirName = "references" referenceSetDir = os.path.join(self._dataDir, referencesDirName) for referenceSetId in os.listdir(referenceSetDir): relativePath = os.path.join(referenceSetDir, referenceSetId) if os.path.isdir(relativePath): referenceSet = references.HtslibReferenceSet( referenceSetId, relativePath) self._referenceSetIdMap[referenceSetId] = referenceSet for reference in referenceSet.getReferences(): referenceId = reference.getId() self._referenceIdMap[referenceId] = reference self._referenceSetIds = sorted(self._referenceSetIdMap.keys()) self._referenceIds = sorted(self._referenceIdMap.keys()) # Datasets datasetDirs = [ os.path.join(self._dataDir, directory) for directory in os.listdir(self._dataDir) if os.path.isdir(os.path.join(self._dataDir, directory)) and directory != referencesDirName] for datasetDir in datasetDirs: dataset = datasets.FileSystemDataset(datasetDir) self._datasetIdMap[dataset.getId()] = dataset self._datasetIds = sorted(self._datasetIdMap.keys())
def __init__(self, dataDir): super(FileSystemBackend, self).__init__() self._dataDir = dataDir # TODO this code is very ugly and should be regarded as a temporary # stop-gap until we deal with iterating over the data tree properly. # References referencesDirName = "references" referenceSetDir = os.path.join(self._dataDir, referencesDirName) for referenceSetName in os.listdir(referenceSetDir): relativePath = os.path.join(referenceSetDir, referenceSetName) if os.path.isdir(relativePath): referenceSet = references.HtslibReferenceSet( referenceSetName, relativePath, self) self.addReferenceSet(referenceSet) # Datasets datasetDirs = [ os.path.join(self._dataDir, directory) for directory in os.listdir(self._dataDir) if os.path.isdir(os.path.join(self._dataDir, directory)) and directory != referencesDirName ] for datasetDir in datasetDirs: dataset = datasets.FileSystemDataset(datasetDir, self) self.addDataset(dataset)
def testBadReferenceDatasetMetadata(self): localId = "bad_metadata" path = self.getFullPath(localId) localBackend = backend.EmptyBackend() with self.assertRaises(exceptions.MissingDatasetMetadataException): datasets.FileSystemDataset(localId, path, localBackend)