#!/usr/bin/env python # -*- mode: python; -*- import sys import traceback import getopt from xen.util.security import ACMError, err, get_ssid # getopt.gnu_getopt is better, but only exists in Python 2.3+. Use # getopt.getopt if gnu_getopt is not available. This will mean that options # may only be specified before positional arguments. if not hasattr(getopt, 'gnu_getopt'): getopt.gnu_getopt = getopt.getopt def usage(): print "Usage: acm_getlabel -i domainid" print " Test program illustrating the retrieval of" print " label information (for domains) from Xen." print " Argument is one paramter describing the domain" print " for which the label is retrieved." print "\t -i domain_id or --domid=domain_id" print " Return value:" print "\t none -- Error (e.g., unknown ssidref, label, or domain id)" print "\t (labelname, policyname, ssidref)" err("Usage") try: domid = None (options, params) = getopt.gnu_getopt(sys.argv[1:], ':i:', ['domid=']) for (k, v) in options: if k in ['-i', '--domid']: if not domid: domid = v else: usage() if not domid: usage() print get_ssid(domid) except ACMError: pass except: traceback.print_exc(limit=1)