From de70bef3e3be880b86e08aba810940d9481ce64b Mon Sep 17 00:00:00 2001 From: LV-426 Date: Sun, 12 Oct 2014 15:18:48 +0200 Subject: n=node:IndexName(Key={value}) DBO_add_link_set operation & test: - use DB_op.__iter__ to compile on_completion() return value - return id(link) values until we come up with a better link id scheme --- src-py/db_controller.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src-py/db_controller.py') diff --git a/src-py/db_controller.py b/src-py/db_controller.py index 32d5a436..bff3a45b 100644 --- a/src-py/db_controller.py +++ b/src-py/db_controller.py @@ -114,6 +114,27 @@ class DBO_add_node_set(DB_op): log.debug('node-set added: ids: ' + str(id_set)) return id_set +class DBO_add_link_set(DB_op): + def __init__(self, link_map): + """ + @param link_map: is a link-type to link-set map - see model.link + """ + super(DBO_add_link_set, self).__init__() + for q, q_params in db_util.gen_query_create_from_link_map(link_map): + self.add_statement(q, q_params) + + def on_completion(self, data): + super(DBO_add_link_set, self).on_completion(data) + + id_set = [] + for s_id, s, r_set in self: + for row in r_set: + # [!] fragile - parse results + lid = row + id_set.append(lid) + + log.debug('link-set added: ids: ' + str(id_set)) + return id_set class DBO_load_node_set_by_DB_id(DB_op): def __init__(self, id_set): -- cgit v1.3.1