From 81d3174b7bf35de0c541e018829fb7c4f4cdff0f Mon Sep 17 00:00:00 2001
From: Magnus Ahltorp <map@kth.se>
Date: Fri, 27 Mar 2015 03:08:06 +0100
Subject: Handle multiple signing nodes

---
 tools/merge.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

(limited to 'tools/merge.py')

diff --git a/tools/merge.py b/tools/merge.py
index 75e72ae..e6fae24 100755
--- a/tools/merge.py
+++ b/tools/merge.py
@@ -34,7 +34,7 @@ storagenodes = config["storagenodes"]
 paths = localconfig["paths"]
 mergedb = paths["mergedb"]
 
-signingnode = config["signingnodes"][0]
+signingnodes = config["signingnodes"]
 
 chainsdir = mergedb + "/chains"
 logorderfile = mergedb + "/logorder"
@@ -238,8 +238,13 @@ tree_size = len(logorder)
 root_hash = tree[-1][0]
 timestamp = int(time.time() * 1000)
 
-tree_head_signature = create_sth_signature(tree_size, timestamp,
-                                           root_hash, "https://%s/" % signingnode["address"], key=own_key)
+for signingnode in signingnodes:
+    try:
+        tree_head_signature = create_sth_signature(tree_size, timestamp,
+                                                   root_hash, "https://%s/" % signingnode["address"], key=own_key)
+        break
+    except urllib2.URLError:
+        pass
 
 sth = {"tree_size": tree_size, "timestamp": timestamp,
        "sha256_root_hash": base64.b64encode(root_hash),
-- 
cgit v1.1