[ItemDescriptor] add sources fix metadata id
This commit is contained in:
parent
1718fd89ca
commit
fcbd0091ad
@ -5,7 +5,7 @@ import datetime as dt
|
||||
|
||||
|
||||
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, shape=None, metadata=None, data_type=None, source_id=None) -> None:
|
||||
super().__init__()
|
||||
self.name = name
|
||||
self.type = type
|
||||
@ -17,6 +17,14 @@ class ItemDescriptor():
|
||||
self.data_type = data_type
|
||||
self.shape = shape
|
||||
self.metadata_id = metadata
|
||||
self.source_id = source_id
|
||||
|
||||
def to_html(self):
|
||||
descr = "<html><h4>%s: %s</h4>" % (self.type, self.name)
|
||||
|
||||
descr += "</html>"
|
||||
return descr
|
||||
|
||||
|
||||
class FileDescriptor():
|
||||
def __init__(self, filename, format, version, created_at, updated_at, size) -> None:
|
||||
@ -123,6 +131,7 @@ class FileHandler(metaclass=Singleton):
|
||||
self._file_requests = []
|
||||
self._entity_buffer = EntityBuffer()
|
||||
self._file_descriptor = None
|
||||
self._file_version = None
|
||||
|
||||
def open(self, filename):
|
||||
self.close()
|
||||
@ -142,6 +151,7 @@ class FileHandler(metaclass=Singleton):
|
||||
self.file_descriptor.tag_count += len(b.multi_tags)
|
||||
if hasattr(b, "data_frames"):
|
||||
self.file_descriptor.data_frame_count += len(b.data_frames)
|
||||
self._file_version = self._nix_file.version
|
||||
return True, "Successfully opened file %s." % filename.split(os.sep)[-1]
|
||||
except RuntimeError as e:
|
||||
return False, "Failed to open file %s! \n Error message is: %s" % (filename, e)
|
||||
@ -149,12 +159,13 @@ class FileHandler(metaclass=Singleton):
|
||||
return False, "Failed to open file %s! \n Error message is: %s\n Probably no nix file?!" % (filename, e)
|
||||
|
||||
def close(self):
|
||||
# TODO check if there are any pending file requests!
|
||||
if self._nix_file is not None and self._nix_file.is_open():
|
||||
self._nix_file.close()
|
||||
self._nix_file = None
|
||||
self._file_requests = []
|
||||
self._entity_buffer.clear()
|
||||
self._file_descriptor = None
|
||||
self._file_version = None
|
||||
|
||||
@property
|
||||
def file_descriptor(self):
|
||||
@ -209,9 +220,12 @@ class FileHandler(metaclass=Singleton):
|
||||
for e in entities:
|
||||
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.metadata_id = e.metadata if hasattr(e, "metadata") else None
|
||||
section = e.metadata if hasattr(e, "metadata") else None
|
||||
itd.metadata_id = section.id if section is not None 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
|
||||
src = e.source if hasattr(e, "source") else None
|
||||
itd.source_id = src.id if src is not None else None
|
||||
infos.append(itd)
|
||||
# TODO set the value to something meaningful for the various entity types
|
||||
return infos
|
||||
|
Loading…
Reference in New Issue
Block a user