in api/pages/node/list.py [0:0]
def run(API, environ, indata, session):
method = environ['REQUEST_METHOD']
# Modifying a node?
if method == "GET":
# Super users only!
if not session.user or session.user['userlevel'] != 'superuser':
raise API.exception(403, "You need to be logged in as super user to perform this action")
conn = session.DB.sqlite.open('nodes.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM `registry` WHERE 1")
nodes = []
for node in cursor.fetchall():
xnode = {k:node[k] for k in node.keys()}
xnode['verified'] = True if node['verified'] else False
xnode['enabled'] = True if node['enabled'] else False
xnode['fingerprint'] = plugins.crypto.fingerprint(node['pubkey'])
nodes.append(xnode)
yield json.dumps({"nodes": nodes}, indent = 2)
return
# Finally, if we hit a method we don't know, balk!
yield API.exception(400, "I don't know this request method!!")