From 230f22ae086c604e7911a78af2be0df37f0feb12 Mon Sep 17 00:00:00 2001 From: helmutm Date: Tue, 6 Jan 2009 16:44:06 +0000 Subject: [PATCH] marshall individual values in grid git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3120 fd906abe-77d9-0310-91a1-e0d9ade77398 --- composer/schema/field.py | 1 + composer/schema/grid/field.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/composer/schema/field.py b/composer/schema/field.py index afed0ac..52832c2 100644 --- a/composer/schema/field.py +++ b/composer/schema/field.py @@ -187,6 +187,7 @@ class NumberFieldInstance(FieldInstance): if not value: return None try: + #return int(str(value)) return int(value) except (TypeError, ValueError): return float(value) diff --git a/composer/schema/grid/field.py b/composer/schema/grid/field.py index af359d5..c7fd645 100644 --- a/composer/schema/grid/field.py +++ b/composer/schema/grid/field.py @@ -59,12 +59,13 @@ class GridFieldInstance(ListFieldInstance): def marshall(self, value): if isinstance(value, basestring): return value - # TODO: marshall values! v = value or [] for row in v: - for k, vr in row.items(): - if isinstance(vr, basestring): - row[k] = vr.replace('\n', '\\n').replace('"', '\\"') + #for k, vr in row.items(): + for fi in self.columnFieldInstances: + vr = fi.marshall(row[fi.name]) + #if isinstance(vr, basestring): + row[fi.name] = vr.replace('\n', '\\n').replace('"', '\\"') empty = {} for fi in self.columnFieldInstances: default = fi.default