X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fstorage%2Frecord.py;h=f9f807e96abf14863e1d7f99d97e71d30a4b5d94;hb=5dd712d2c54e90dcdff9bcacef7a12cb817aad44;hp=b1f0b6b8deb16c21cb16ac7593895d6bb9c5c162;hpb=e4c315196a86a147c4b35eec75cc7645b01c5989;p=sfa.git diff --git a/sfa/storage/record.py b/sfa/storage/record.py index b1f0b6b8..f9f807e9 100644 --- a/sfa/storage/record.py +++ b/sfa/storage/record.py @@ -32,14 +32,13 @@ class SfaRecord(Row): of different types. """ - table_name = 'sfa' - - primary_key = 'record_id' +# table_name = 'sfa' +# primary_key = 'record_id' ### the wsdl generator assumes this is named 'fields' internal_fields = { - 'record_id': Parameter(int, 'An id that uniquely identifies this record', ro=True), - 'pointer': Parameter(int, 'An id that uniquely identifies this record in an external database ') + 'record_id': Parameter(int, "An id that uniquely identifies this record", ro=True), + 'pointer': Parameter(int, "An id that uniquely identifies this record in an external database") } fields = { @@ -48,8 +47,8 @@ class SfaRecord(Row): 'hrn': Parameter(str, "Human readable name of object"), 'gid': Parameter(str, "GID of the object"), 'type': Parameter(str, "Record type"), - 'last_updated': Parameter(int, 'Date and time of last update', ro=True), - 'date_created': Parameter(int, 'Date and time this record was created', ro=True), + 'last_updated': Parameter(int, "Date and time of last update", ro=True), + 'date_created': Parameter(int, "Date and time this record was created", ro=True), } all_fields = dict(fields.items() + internal_fields.items()) ## @@ -61,7 +60,8 @@ class SfaRecord(Row): # @param pointer is a pointer to a PLC record # @param dict if !=None, then fill in this record from the dictionary - def __init__(self, hrn=None, gid=None, type=None, pointer=None, authority=None, peer_authority=None, dict=None, string=None): + def __init__(self, hrn=None, gid=None, type=None, pointer=None, authority=None, + peer_authority=None, dict=None, string=None): self.dirty = True self.hrn = None self.gid = None @@ -313,9 +313,9 @@ class SfaRecord(Row): """ recorddict = self.as_dict() filteredDict = dict([(key, val) for (key, val) in recorddict.iteritems() if key in self.fields.keys()]) - record = XML('') - record.parse_dict(filteredDict) - str = record.toxml() + xml_record = XML('') + xml_record.parse_dict(filteredDict) + str = xml_record.toxml() return str ## @@ -329,8 +329,8 @@ class SfaRecord(Row): """ #dict = xmlrpclib.loads(str)[0][0] - record = XML(str) - self.load_from_dict(record.todict()) + xml_record = XML(str) + self.load_from_dict(xml_record.todict()) ## # Dump the record to stdout @@ -365,8 +365,8 @@ class SfaRecord(Row): print " %s: %s" % (key, self[key]) def summary_string(self): - return "Record(record_id=%s, hrn=%s, type=%s, auth=%s, pointer=%s)" % \ - (self.get('record_id'), self.get('hrn'), self.get('type'), self.get('auth'), \ + return "Record(record_id=%s, hrn=%s, type=%s, authority=%s, pointer=%s)" % \ + (self.get('record_id'), self.get('hrn'), self.get('type'), self.get('authority'), \ self.get('pointer')) def getdict(self): @@ -400,6 +400,7 @@ class SfaRecord(Row): """ from sfa.storage.table import SfaTable table = SfaTable() + filter = {} if self.get('record_id'): filter['record_id'] = self.get('record_id') if self.get('hrn') and self.get('type'): @@ -407,9 +408,10 @@ class SfaRecord(Row): filter['type'] = self.get('type') if self.get('pointer'): filter['pointer'] = self.get('pointer') - existing_records = table.find(filter) - for record in existing_records: - table.remove(record) + if filter: + existing_records = table.find(filter) + for record in existing_records: + table.remove(record) class UserRecord(SfaRecord): @@ -439,7 +441,6 @@ class NodeRecord(SfaRecord): fields = { 'hostname': Parameter(str, 'This nodes dns name'), 'node_type': Parameter(str, 'Type of node this is'), - 'node_type': Parameter(str, 'Type of node this is'), 'latitude': Parameter(str, 'latitude'), 'longitude': Parameter(str, 'longitude'), }