diff --git a/file_handler.py b/file_handler.py
index 7cb6284..e0ebe66 100644
--- a/file_handler.py
+++ b/file_handler.py
@@ -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 = "
%s: %s
" % (self.type, self.name)
+
+ descr += ""
+ 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