UnknownSfaType, ExistingRecord
from sfa.util.prefixTree import prefixTree
from sfa.util.record import SfaRecord
-from sfa.senslab.table_slab import SfaTable
+from sfa.util.table import SfaTable
from sfa.util.xrn import Xrn, get_leaf, get_authority, hrn_to_urn, urn_to_hrn
from sfa.util.version import version_core
from sfa.trust.certificate import Certificate, Keypair, convert_public_key
from sfa.trust.gid import create_uuid
+#myapi=SfaAPI()
# The GENI GetVersion call
def GetVersion(api):
- peers =dict ([ (peername,v._ServerProxy__host) for (peername,v) in api.registries.iteritems()
- if peername != api.hrn])
+
+ # Bugfix TP 09/11/2011
+ #peers =dict ([ (peername,v._ServerProxy__host) for (peername,v) in api.registries.iteritems()
+ peers =dict ([ (peername,v.get_url()) for (peername,v) in api.registries.iteritems()
+ if peername != api.hrn])
xrn=Xrn(api.hrn)
return version_core({'interface':'registry',
'hrn':xrn.get_hrn(),
'urn':xrn.get_urn(),
'peers':peers})
-def get_credential(api, xrn, type, is_self=False):
+def GetCredential(api, xrn, type, is_self=False):
# convert xrn to hrn
if type:
hrn = urn_to_hrn(xrn)[0]
# verify_cancreate_credential requires that the member lists
# (researchers, pis, etc) be filled in
- api.driver.fill_record_info(record, api.aggregates)
+ #api.driver.fill_record_info(record, api.aggregates)
+ api.driver.fill_record_info(record)
record['enabled'] = True
print>> sys.stderr , " \r\n ++ REGISTRY get_credential hrn %s record['enabled'] %s is_self %s" %(hrn, record['enabled'], is_self)
if record['type']=='user':
return new_cred.save_to_string(save_parents=True)
-def resolve(api, xrns, type=None, full=True):
+def Resolve(api, xrns, type=None, full=True):
# load all known registry names into a prefix tree and attempt to find
# the longest matching prefix
if full:
print >>sys.stderr, '\r\n \r\n REGISTRY:_FULL', api
+
api.driver.fill_record_info(local_records)
# convert local record objects to dicts
records.extend([dict(record) for record in local_records])
- print >>sys.stderr, "\r\n \t\t records extends %s" %(records)
+ #print >>sys.stderr, "\r\n \t\t records extends %s" %(records)
if not records:
raise RecordNotFound(str(hrns))
return records
-def list(api, xrn, origin_hrn=None):
+def List(api, xrn, origin_hrn=None):
hrn, type = urn_to_hrn(xrn)
# load all know registry names into a prefix tree and attempt to find
# the longest matching prefix
return records
-def register(api, record):
+def Register(api, record):
+
#hrn, type = record['hrn'], record['type']
hrn = str(record['hrn']).strip("['']")
type = str( record['type']).strip("['']")
#api.auth.verify_object_permission(hrn)
api.auth.verify_object_permission( record['hrn'])
auth_info = api.auth.get_auth_info(record['authority'])
+
+
+
pub_key = None
# make sure record has a gid
if 'gid' not in record:
# time by sfa and doesont already exist in plc
if not persons or not persons[0]['site_ids']:
login_base = get_leaf(record['authority'])
+
api.driver.AddPersonToSite(pointer, login_base)
# What roles should this user have?
return record.get_gid_object().save_to_string(save_parents=True)
-def update(api, record_dict):
+def Update(api, record_dict):
new_record = SfaRecord(dict = record_dict)
type = new_record['type']
hrn = new_record['hrn']
return 1
# expecting an Xrn instance
-def remove(api, xrn, origin_hrn=None):
+def Remove(api, xrn, origin_hrn=None):
table = SfaTable()
filter = {'hrn': xrn.get_hrn()}
return 1
-def remove_peer_object(api, record, origin_hrn=None):
- pass
-
-def register_peer_object(api, record, origin_hrn=None):
- pass