[file handler] requests for sources and groups
This commit is contained in:
parent
0b2adbefc3
commit
397f689c1d
@ -26,6 +26,8 @@ class NodeType(Enum):
|
||||
Source = "source"
|
||||
Tag = "tag"
|
||||
MultiTag = "multi_tag"
|
||||
Group = "group"
|
||||
Feature="feature"
|
||||
|
||||
|
||||
class Singleton(type):
|
||||
@ -161,3 +163,28 @@ class FileHandler(metaclass=Singleton):
|
||||
dim_type= "%s %s" % (d.dimension_type, "dimension")
|
||||
dimensions.append(ItemDescriptor(dim_name, type=dim_type, entity_type=NodeType.Dimension, block_id=block_id))
|
||||
return dimensions
|
||||
|
||||
def request_data_frames(self, block_id):
|
||||
if self._nix_file.version[1] >= 2:
|
||||
return self._entity_info(self._nix_file.blocks[block_id].data_frames, block_id, NodeType.DataFrame)
|
||||
return []
|
||||
|
||||
def request_groups(self, block_id):
|
||||
return self._entity_info(self._nix_file.blocks[block_id].groups, block_id, NodeType.Group)
|
||||
|
||||
def request_sources(self, block_id, parent_source_id=None):
|
||||
def get_subsources(src):
|
||||
sub_sources = []
|
||||
for s in src.sources:
|
||||
sub_sources.append(ItemDescriptor(s.name, s.id, s.type, definition=s.definition, entity_type=NodeType.Source))
|
||||
return sub_sources
|
||||
|
||||
if parent_source_id is None:
|
||||
return self._entity_info(self._nix_file.blocks[block_id].sources, block_id, NodeType.Source)
|
||||
else:
|
||||
b = self._nix_file.blocks[block_id]
|
||||
srcs = b.find_sources(lambda s: s.id == parent_source_id)
|
||||
sources = []
|
||||
for src in srcs:
|
||||
sources.extend(get_subsources(src))
|
||||
return sources
|
Loading…
Reference in New Issue
Block a user