chiark / gitweb /
Use the new `mLib' annotations on varargs functions.
[tripe] / svc / connect.in
index 5f8940e34ddc5b527e50275fe2bd85b243203940..0031d36fcee85b72aa226a79f747742c11af2352 100644 (file)
@@ -130,6 +130,16 @@ def cmd_info(name):
   for i in items:
     T.svcinfo('%s=%s' % (i, peer.get(i)))
 
+def cmd_userpeer(user):
+  """
+  userpeer USER: Report the peer name for the named user.
+  """
+  try:
+    peer = CDB.init(opts.cdb)['U' + user]
+  except KeyError:
+    raise T.TripeJobError('unknown-user', user)
+  T.svcinfo(peer)
+
 ## Dictionary mapping challenges to waiting passive-connection coroutines.
 chalmap = {}
 
@@ -241,7 +251,8 @@ service_info = [('connect', VERSION, {
   'passive': (1, None, '[OPTIONS] USER', cmd_passive),
   'active': (1, 1, 'PEER', cmd_active),
   'info': (1, 1, 'PEER', cmd_info),
-  'list': (0, 0, '', cmd_list)
+  'list': (0, 0, '', cmd_list),
+  'userpeer': (1, 1, 'USER', cmd_userpeer)
 })]
 
 if __name__ == '__main__':