from geniclient import *
from geniticket import *
-long_opts = ["keyfile=", "help", "outfile=", "credfile=", "ticketfile=", "username=", "email=", "ip=", "dns=", "dump_parents", "server="]
+long_opts = ["keyfile=", "help", "outfile=", "credfile=", "ticketfile=",
+ "username=", "email=", "ip=", "dns=", "dump_parents", "server=",
+ "filter="]
# default command line options
username = "client"
uuid = None
gid_pkey_fn = None
gid_fn = None
+filter = None
dump_parents = False
print " --dns ... DNS address (for registering nodes)"
print " --dump_parents ... dump parents"
print " --server ... geni server (registry/component) to connect to"
+ print " --filter <type> ... filter the results of a list operation (user | slice | node ...)"
print "commands:"
print " resolve <hrn>"
print " dumpCredential"
global uuid, pkey_fn, gid_fn, email, gid_pkey_fn, ip, dns
global dump_parents
global server_url
+ global filter
(options, args) = getopt.getopt(sys.argv[1:], '', long_opts)
for opt in options:
dump_parents = True
elif name == "--server":
server_url = val
+ elif name == "--filter":
+ filter = val
if not args:
print "no operation specified"
elif (opname == "list"):
result = client.list(cred)
if result:
+ if filter:
+ result = [r for r in result if r.type==filter]
for record in result:
print "RESULT:"
record.dump(dump_parents=dump_parents)