import os import datetime as dt class ItemDescriptor(): def __init__(self, name=None, id=None, type=None, value=None, unit=None, label=None, definition=None, block_id=None, entity_type=None, shape=None, metadata=None, data_type=None, source_id=None, created_at=None, updated_at=None) -> None: super().__init__() self.name = name self.type = type self.id = id self.block_id = block_id self.definition = definition self.value = value self.unit = unit self.label = label self.entity_type = entity_type self.data_type = data_type self.shape = shape self.metadata_id = metadata self.source_id = source_id self.created_at = created_at self.updated_at = updated_at self.best_xdim = None self.suggested_plotter = None def to_html(self): descr = "

%s: %s

" % (self.type, self.name) descr += "
    " descr += "
  1. id: %s
  2. " % (self.id) descr += "
  3. entity type: %s
  4. " % (self.entity_type.value) descr += "
  5. data type: %s
  6. " % (str(self.data_type)) descr += "
  7. data shape: %s
  8. " % (str(self.shape)) descr += "
    " descr += "

    definition: %s

    " % (self.definition) descr += "
    " descr += "
  9. metadata id: %s
  10. " % (self.metadata_id) descr += "
  11. source id: %s
  12. " % (self.source_id) descr += "
    " descr += "
  13. created at: %s
  14. " % (str(dt.datetime.fromtimestamp(self.created_at)) if self.created_at else "") descr += "
  15. updated at: %s
  16. " % (str(dt.datetime.fromtimestamp(self.updated_at)) if self.updated_at else "") descr += "
" descr += "" return descr def __str__(self) -> str: return "Entity: %s, id: %s, type: %s " % (self.name, self.id, self.entity_type) class FileDescriptor(): def __init__(self, filename, format, version, created_at, updated_at, size) -> None: super().__init__() self.name = filename self.size = None self.format = format self.version = version self.created_at = created_at self.updated_at = updated_at self.size = size self.block_count = 0 self.data_array_count = 0 self.tag_count = 0 self.group_count = 0 self.data_frame_count = 0 def toHtml(self): def namAndPath(filename): parts = filename.split(os.sep) name = parts[-1] path = "" if len(parts) > 1: path = os.sep.join(parts[:-1]) return name, path name, path = namAndPath(self.name) descr = "

%s

" % name descr += "
    " descr += "
  1. location: %s
  2. " % (path if len(path) > 1 else ".") descr += "
  3. format: %s
  4. " % (self.format) descr += "
  5. nix format version: %s
  6. " % (str(self.version)) descr += "
  7. file size: %.2f MB
  8. " % (self.size) descr += "
    " descr += "
  9. File contents
  10. " descr += "
  11. blocks: %i
  12. " % self.block_count descr += "
  13. groups: %i
  14. " % self.group_count descr += "
  15. data arrays: %i
  16. " % self.data_array_count descr += "
  17. data frames: %i
  18. " % self.data_frame_count descr += "
  19. tags: %i
  20. " % self.tag_count descr += "
    " descr += "
  21. created at: %s
  22. " % (str(dt.datetime.fromtimestamp(self.created_at))) descr += "
  23. updated at: %s
  24. " % (str(dt.datetime.fromtimestamp(self.updated_at))) descr += "
" descr += "" return descr