diff --git a/tercen/model/impl.py b/tercen/model/impl.py index 100cd5f..7a068a6 100644 --- a/tercen/model/impl.py +++ b/tercen/model/impl.py @@ -864,3 +864,50 @@ class GroupByRelation(GroupByRelationBase): def __init__(self, m=None): super().__init__(m) + +def removeMeta(self, key): + for i in range(0, len(self.meta)): + m = self.meta[i] + if m.key == key: + self.meta.pop(i) + break + +def hasMeta(self, key): + for i in range(0, len(self.meta)): + m = self.meta[i] + if m.key == key: + return True + return False + + +def getMetaPair(self, key): + for i in range(0, len(self.meta)): + m = self.meta[i] + if m.key == key: + return m + +def getMeta(self, key, defaultValue=None): + for i in range(0, len(self.meta)): + m = self.meta[i] + if m.key == key: + return m.value + return defaultValue + +def addMeta(self, key:str, value:str): + p = Pair({"key":key, "value":value}) + self.removeMeta(p.key) + self.meta.append(p) + + +Task.removeMeta = removeMeta +Task.addMeta = addMeta +Task.hasMeta = hasMeta +Task.getMetaPair = getMetaPair +Task.getMeta = getMeta + + +Document.removeMeta = removeMeta +Document.addMeta = addMeta +Document.hasMeta = hasMeta +Document.getMetaPair = getMetaPair +Document.getMeta = getMeta