Changeset 7206e5a for fedd/fedd_new.py
- Timestamp:
- Sep 23, 2010 5:44:47 PM (14 years ago)
- Branches:
- axis_example, compt_changes, info-ops, master
- Children:
- 835cf55
- Parents:
- 09b1e9d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/fedd_new.py
r09b1e9d r7206e5a 3 3 import sys 4 4 5 from federation.fedid import fedid, generate_fedid 5 6 from federation.remote_service import service_caller 6 7 from federation.client_lib import client_opts, exit_with_fault, RPCException, \ 7 wrangle_standard_options, do_rpc, get_experiment_names, save_certfile 8 wrangle_standard_options, do_rpc, get_experiment_names, \ 9 save_certfile, get_abac_certs 8 10 9 11 … … 15 17 self.add_option("--experiment_name", dest="exp_name", 16 18 type="string", help="Suggested experiment name") 19 self.add_option('--gen-cert', action='store_true', dest='gen_cert', 20 default=False, 21 help='generate a cert to which to delegate rights') 17 22 18 23 parser = new_opts() … … 20 25 21 26 cert, fid, url = wrangle_standard_options(opts) 27 try: 28 acerts = get_abac_certs(opts.abac_dir) 29 except EnvironmentError, e: 30 sys.exit('%s: %s' % (e.filename, e.strerror)) 22 31 23 32 out_certfile = opts.out_certfile … … 25 34 msg = { } 26 35 36 if opts.gen_cert: 37 expid, expcert = generate_fedid(opts.exp_name or 'dummy') 38 print expid 39 msg['experimentAccess'] = { 'X509': expcert } 40 else: 41 expcert = None 42 27 43 if opts.exp_name: 28 44 msg['experimentID'] = { 'localname': opts.exp_name } 45 46 if acerts: 47 msg['credential'] = acerts 29 48 30 49 if opts.debug > 1: print >>sys.stderr, msg … … 44 63 45 64 try: 46 save_certfile(opts.out_certfile, resp_dict.get('experimentAccess', None)) 47 except EnvironmentError: 48 sys.exit('Could not write to %s' % out_certfile) 65 save_certfile(opts.out_certfile, resp_dict.get('experimentAccess', None), 66 expcert) 67 except EnvironmentError, e: 68 sys.exit('Could not write to %s:' % (e.strerror, e.filename)) 69 except CertificateMismatchError: 70 printf >>sys.stderr, "Fedid of created experiment does not match generated" 71 49 72 50 73 e_fedid, e_local = get_experiment_names(resp_dict.get('experimentID', None))
Note: See TracChangeset
for help on using the changeset viewer.