use session.delete(x) rather than del x
[sfa.git] / sfa / server / sfa-start.py
index 09b68f5..8355d1c 100755 (executable)
@@ -138,25 +138,24 @@ def update_cert_records(gids):
     gid_urns = [gid.get_urn() for gid in gids]
     hrns_expected = [gid.get_hrn() for gid in gids]
     records_found = dbsession.query(RegRecord).\
-        filter_by(pointer=-1)filter(RegRecord.hrn.in_(hrns_expected)).all()
+        filter_by(pointer=-1).filter(RegRecord.hrn.in_(hrns_expected)).all()
 
     # remove old records
     for record in records_found:
         if record.hrn not in hrns_expected and \
             record.hrn != self.api.config.SFA_INTERFACE_HRN:
-            del record
+            dbsession.delete(record)
 
     # TODO: store urn in the db so we do this in 1 query 
     for gid in gids:
         hrn, type = gid.get_hrn(), gid.get_type()
         record = dbsession.query(RegRecord).filter_by(hrn=hrn, type=type,pointer=-1).first()
         if not record:
-            record = RegRecord (type=type)
-            record.set_from_dict (
-                { 'hrn': hrn, 
-                  'authority': get_authority(hrn),
-                  'gid': gid.save_to_string(save_parents=True),
-                  })
+            record = RegRecord (dict= {'type':type,
+                                       'hrn': hrn, 
+                                       'authority': get_authority(hrn),
+                                       'gid': gid.save_to_string(save_parents=True),
+                                       })
             dbsession.add(record)
     dbsession.commit()