-import types
+from __future__ import print_function
+
# for get_key_from_incoming_ip
import tempfile
import os
def Resolve(self, api, xrns, type=None, details=False):
dbsession = api.dbsession()
- if not isinstance(xrns, types.ListType):
+ if not isinstance(xrns, list):
# try to infer type if not set and we get a single input
if not type:
type = Xrn(xrns).get_type()
pub_key=getattr(record,'reg-keys',None)
if pub_key is not None:
# use only first key in record
- if pub_key and isinstance(pub_key, types.ListType): pub_key = pub_key[0]
+ if pub_key and isinstance(pub_key, list): pub_key = pub_key[0]
pkey = convert_public_key(pub_key)
email = getattr(record,'email',None)
elif isinstance (record, RegUser):
# create RegKey objects for incoming keys
if hasattr(record,'reg-keys'):
- keys=getattr(record,'reg-keys')
+ keys = getattr(record, 'reg-keys')
# some people send the key as a string instead of a list of strings
- if isinstance(keys,types.StringTypes): keys=[keys]
- logger.debug ("creating {} keys for user {}".format(len(keys), record.hrn))
+ # note for python2/3 : no need to consider unicode in a key
+ if isinstance(keys, str):
+ keys = [keys]
+ logger.debug("creating {} keys for user {}".format(len(keys), record.hrn))
record.reg_keys = [ RegKey (key) for key in keys ]
# update testbed-specific data if needed
if type == 'user':
if getattr(new_record, 'keys', None):
new_key = new_record.keys
- if isinstance (new_key, types.ListType):
+ if isinstance (new_key, list):
new_key = new_key[0]
# take new_key into account
# record.__dict__ as received by the driver seems to be off
# anyway the driver should receive an object
# (and then extract __dict__ itself if needed)
- print "DO NOT REMOVE ME before driver.update, record={}".format(record)
+ print("DO NOT REMOVE ME before driver.update, record={}".format(record))
# as of June 2015: I suspect we could remove that print line above and replace it with
# augment_with_sfa_builtins(record)
# instead, that checks for these fields, like it is done above in List()
for command in all_commands:
(status, output) = commands.getstatusoutput(command)
if status:
- raise Exception, output
+ raise Exception(output)
for filename in [key_filename, gid_filename]:
os.unlink(filename)