(Steve Dougherty)
2013-07-26: Comments. Comments.
diff --git a/infocalypse/wot_id.py b/infocalypse/wot_id.py
--- a/infocalypse/wot_id.py
+++ b/infocalypse/wot_id.py
@@ -33,7 +33,9 @@ class WoT_ID(object):
be omitted.
"""
# id_num and message are internal and used to allow constructing
- # a WoT_ID for a Local_WoT_ID.
+ # a WoT_ID for a Local_WoT_ID. Their default values parse the first
+ # (and only) identity described by an unspecified message, in which case
+ # it queries WoT to produce one.
if not message:
message = get_identity(wot_identifier, truster)
@@ -44,18 +46,12 @@ class WoT_ID(object):
self.request_uri = USK(get_attribute('RequestURI'))
self.identity_id = get_attribute('Identity')
- # Add contexts and other properties.
- # TODO: Unflattening WoT response? Several places check for prefix like
- # this.
self.contexts = []
self.properties = {}
context_prefix = "Replies.Contexts{0}.Context".format(id_num)
property_prefix = "Replies.Properties{0}.Property".format(id_num)
for key in message.iterkeys():
if key.startswith(context_prefix):
- #num = key[len(context_prefix):]
- # TODO: Is there a reason to keep the numbers? (As in key it.)
- #identity.contexts["Context{0}".format(num)] = message[key]
self.contexts.append(message[key])
elif key.startswith(property_prefix) and key.endswith(".Name"):
# ".Name" is 5 characters, before which is the number.
@@ -111,6 +107,10 @@ class Local_WoT_ID(WoT_ID):
"""
def __init__(self, wot_identifier):
+ # Query WoT for local identities, and find a match if one exists.
+ # If not, abort. Otherwise define insert_uri and pass the WoT result
+ # and id_num along to WoT_ID.__init__() for further processing.
+
nickname_prefix, key_prefix = parse_name(wot_identifier)
node = fcp.FCPNode()
@@ -168,6 +168,12 @@ class Local_WoT_ID(WoT_ID):
def get_identity(wot_identifier, truster):
+ """
+ Internal.
+
+ Return an FCP reply from WoT for an identity on the truster's trust list
+ matching the identifier. Abort if anything but exactly one match is found.
+ """
nickname_prefix, key_prefix = parse_name(wot_identifier)
# TODO: Support different FCP IP / port.
node = fcp.FCPNode()