From b98e8b4a8519f271a973952fd8c778fa75886868 Mon Sep 17 00:00:00 2001 From: Petr Beklemishev Date: Tue, 10 Oct 2017 14:35:32 +0700 Subject: [PATCH] Fix returning multivalue fields --- PyFileMaker/FMResultset.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/PyFileMaker/FMResultset.py b/PyFileMaker/FMResultset.py index 102a061..f801c2d 100644 --- a/PyFileMaker/FMResultset.py +++ b/PyFileMaker/FMResultset.py @@ -57,8 +57,11 @@ def doParseResultset(self): for column in self.doGetXMLElements(record, 'field'): fieldname = self.doGetXMLAttribute(column, 'name') try: - recordDict[fieldname] = self.doGetXMLElement(column, 'data').getData() - except: + if int(self.metadata[fieldname]['max-repeat']) > 1: + recordDict[fieldname] = [i.getData() for i in self.doGetXMLElements(column, 'data') if i.getData() != ''] + else: + recordDict[fieldname] = self.doGetXMLElement(column, 'data').getData() + except Exception as e: recordDict[fieldname] = ''.encode('UTF-8') # it means there are no data for this column!!! # -> and it's not possible to modify it later