From 128e779f261ec3ddfac4c92fabbc1e0cedca4bc2 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Fri, 3 Feb 2012 09:24:57 +0100 Subject: [PATCH] bugfix, need some discipline on naming relationship columns to avoid conflict with other areas of the code, like loading from xml records or the like --- sfa/importer/plimporter.py | 6 +++--- sfa/storage/model.py | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sfa/importer/plimporter.py b/sfa/importer/plimporter.py index 802ab976..9a6a8f5c 100644 --- a/sfa/importer/plimporter.py +++ b/sfa/importer/plimporter.py @@ -209,7 +209,7 @@ class PlImporter: plc_keys = [] sfa_keys = [] if previous_record: - sfa_keys = previous_record.keys + sfa_keys = previous_record.reg_keys if person_id in keys_by_person_id: plc_keys = keys_by_person_id[person_id] update_record = False @@ -240,14 +240,14 @@ class PlImporter: person_gid = self.auth_hierarchy.create_gid(urn, create_uuid(), pkey) if previous_record: previous_record.gid=person_gid - if pubkey: previous_record.keys=[RegKey (pubkey['key'], pubkey['key_id'])] + if pubkey: previous_record.reg_keys=[RegKey (pubkey['key'], pubkey['key_id'])] self.logger.info("PlImporter: updated person: %s" % previous_record) else: new_record = RegUser (hrn=hrn, gid=person_gid, pointer=person['person_id'], authority=get_authority(hrn), email=person['email']) - if pubkey: new_record.keys=[RegKey (pubkey['key'], pubkey['key_id'])] + if pubkey: new_record.reg_keys=[RegKey (pubkey['key'], pubkey['key_id'])] dbsession.add (new_record) dbsession.commit() self.logger.info("PlImporter: imported person: %s" % new_record) diff --git a/sfa/storage/model.py b/sfa/storage/model.py index 18029d10..da667167 100644 --- a/sfa/storage/model.py +++ b/sfa/storage/model.py @@ -199,7 +199,9 @@ class RegUser (RegRecord): __mapper_args__ = { 'polymorphic_identity' : 'user' } record_id = Column (Integer, ForeignKey ("records.record_id"), primary_key=True) email = Column ('email', String) - keys = relationship ('RegKey', backref='user') + # can't use name 'keys' here because when loading from xml we're getting + # a 'keys' tag, and assigning a list of strings in a reference column like this crashes + reg_keys = relationship ('RegKey', backref='reg_user') def __init__ (self, **kwds): # handle local settings -- 2.43.0