Merge branch 'master' of ssh://git.onelab.eu/git/sfa
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Thu, 12 Jan 2012 00:03:03 +0000 (01:03 +0100)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Thu, 12 Jan 2012 00:03:03 +0000 (01:03 +0100)
1  2 
sfa/storage/record.py

diff --combined sfa/storage/record.py
@@@ -32,13 -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 = {
@@@ -47,8 -48,8 +47,8 @@@
          '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())
      ##
@@@ -60,8 -61,7 +60,8 @@@
      # @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
          """
          recorddict = self.as_dict()
          filteredDict = dict([(key, val) for (key, val) in recorddict.iteritems() if key in self.fields.keys()])
 -        record = XML('<record/>')
 -        record.parse_dict(filteredDict)
 -        str = record.toxml()
 +        xml_record = XML('<record/>')
 +        xml_record.parse_dict(filteredDict)
 +        str = xml_record.toxml()
          return str
  
      ##
          """
          #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
          """
          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'):
              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,6 -441,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'),
          }