[file handler] add dtype and shape fields to ItemDescriptor
This commit is contained in:
parent
5acf2f9f14
commit
2a7e459eda
@ -1,11 +1,11 @@
|
|||||||
import os
|
import os
|
||||||
import nixio as nix
|
import nixio as nix
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
import datetime as dt
|
||||||
|
|
||||||
|
|
||||||
class ItemDescriptor():
|
class ItemDescriptor():
|
||||||
|
def __init__(self, name=None, id=None, type=None, value=None, definition=None, block_id=None, entity_type=None, shape=None, metadata=None, data_type=None) -> None:
|
||||||
def __init__(self, name=None, id=None, type=None, value=None, definition=None, block_id=None, entity_type=None) -> None:
|
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.name = name
|
self.name = name
|
||||||
self.type = type
|
self.type = type
|
||||||
@ -14,6 +14,10 @@ class ItemDescriptor():
|
|||||||
self.definition = definition
|
self.definition = definition
|
||||||
self.value = value
|
self.value = value
|
||||||
self.entity_type = entity_type
|
self.entity_type = entity_type
|
||||||
|
self.data_type = data_type
|
||||||
|
self.shape = shape
|
||||||
|
self.metadata_id = metadata
|
||||||
|
|
||||||
class FileDescriptor():
|
class FileDescriptor():
|
||||||
def __init__(self, filename, format, version, created_at, updated_at, size) -> None:
|
def __init__(self, filename, format, version, created_at, updated_at, size) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@ -83,6 +87,7 @@ class Singleton(type):
|
|||||||
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
|
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
|
||||||
return cls._instances[cls]
|
return cls._instances[cls]
|
||||||
|
|
||||||
|
|
||||||
class EntityBuffer():
|
class EntityBuffer():
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
@ -117,13 +122,9 @@ class FileHandler(metaclass=Singleton):
|
|||||||
self._nix_file = None
|
self._nix_file = None
|
||||||
self._file_requests = []
|
self._file_requests = []
|
||||||
self._entity_buffer = EntityBuffer()
|
self._entity_buffer = EntityBuffer()
|
||||||
|
self._file_descriptor = None
|
||||||
|
|
||||||
def open(self, filename):
|
def open(self, filename):
|
||||||
"""[summary]
|
|
||||||
|
|
||||||
Args:
|
|
||||||
filename ([type]): [description]
|
|
||||||
"""
|
|
||||||
self.close()
|
self.close()
|
||||||
|
|
||||||
if not os.path.exists(filename):
|
if not os.path.exists(filename):
|
||||||
@ -157,8 +158,6 @@ class FileHandler(metaclass=Singleton):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def file_descriptor(self):
|
def file_descriptor(self):
|
||||||
|
|
||||||
return ItemDescriptor()
|
|
||||||
return self._file_descriptor
|
return self._file_descriptor
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -210,6 +209,9 @@ class FileHandler(metaclass=Singleton):
|
|||||||
for e in entities:
|
for e in entities:
|
||||||
self._entity_buffer.put(e)
|
self._entity_buffer.put(e)
|
||||||
itd = ItemDescriptor(e.name, e.id, e.type, definition=e.definition, entity_type=entity_type, block_id=block_id)
|
itd = ItemDescriptor(e.name, e.id, e.type, definition=e.definition, entity_type=entity_type, block_id=block_id)
|
||||||
|
itd.metadata_id = e.metadata if hasattr(e, "metadata") else None
|
||||||
|
itd.data_type = e.data_type if hasattr(e, "data_type") else None
|
||||||
|
itd.shape = e.shape if hasattr(e, "shape") else None
|
||||||
infos.append(itd)
|
infos.append(itd)
|
||||||
# TODO set the value to something meaningful for the various entity types
|
# TODO set the value to something meaningful for the various entity types
|
||||||
return infos
|
return infos
|
||||||
|
Loading…
Reference in New Issue
Block a user