summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-01-06 21:41:27 +0200
committerAlon Levy <alon@pobox.com>2015-01-06 21:41:27 +0200
commit04c94ef35ebeecbc1ce4ed4748bf4782b9210790 (patch)
treeddc7d2149f942123ac090dd6874e35b2ba0dd874
parent546ee33efaaa0df3e121a7ba5c16bc3aa1a0aeeb (diff)
server: hack my way to a working __type/__label_set, please fix at will
-rw-r--r--src/server/neo4j_util.py11
-rw-r--r--src/server/rz_api_common.py2
2 files changed, 8 insertions, 5 deletions
diff --git a/src/server/neo4j_util.py b/src/server/neo4j_util.py
index 9af9eaa0..1f4ddd4e 100644
--- a/src/server/neo4j_util.py
+++ b/src/server/neo4j_util.py
@@ -284,11 +284,14 @@ def meta_attr_list_to_meta_attr_map(e_set, meta_attr='__label_set'):
for v in e_set:
meta_attr_list = v.get(meta_attr)
assert None != meta_attr_list, 'missing type meta-attribute'
- assert list == type(meta_attr_list), 'type meta-attribute not in list form'
- assert len(meta_attr_list) < 2, 'only single-type mapping currently suppoerted'
- assert 1 == len(meta_attr_list), 'missing meta attribute __label_set or __type'
- v_type = v[meta_attr][0]
+ # Amir - refactor at will
+ # handle either a list or a string - we use a list for __label_set
+ # and a string for __type
+ if list == type(meta_attr_list):
+ v_type = v[meta_attr][0]
+ else:
+ v_type = v[meta_attr]
if None == ret.get(v_type): # init type list if necessary
ret[v_type] = []
diff --git a/src/server/rz_api_common.py b/src/server/rz_api_common.py
index 68d9008d..be37837c 100644
--- a/src/server/rz_api_common.py
+++ b/src/server/rz_api_common.py
@@ -25,9 +25,9 @@ def sanitize_input__link(l):
assert None != l.get('id'), 'invalid input: link: missing id'
assert None != l.get('__src_id'), 'invalid input: link: missing src id'
assert None != l.get('__dst_id'), 'invalid input: link: missing dst id'
+ assert None != l.get('__type'), 'invalid input: link: missing type'
# unexpected prop assertions
- assert None == l.get('__type'), 'client is sending us __type link property, it should not'
assert None == l.get('name'), 'client is sending us name link property, it should not'
def sanitize_input__topo_diff(topo_diff):