summaryrefslogtreecommitdiff
path: root/addons/import_base/mapper.py
diff options
context:
space:
mode:
authortfr@openerp.com <>2011-07-01 11:42:50 +0200
committertfr@openerp.com <>2011-07-01 11:42:50 +0200
commitf9b1a4ebeab78ad8dc9bc38e9c77ff724250bf6e (patch)
tree0cfcf5fc5a4dbe73bd5709ae8f537fd10a28f8d3 /addons/import_base/mapper.py
parenta843faf44cc8fada36fb483de831569fb961d33f (diff)
[MERGE] All modification from all import_project
bzr revid: tfr@openerp.com-20110701094250-ce3wn9pjku3l3blq
Diffstat (limited to 'addons/import_base/mapper.py')
-rw-r--r--addons/import_base/mapper.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/addons/import_base/mapper.py b/addons/import_base/mapper.py
index 582a45ee4fb..4f34712f7ae 100644
--- a/addons/import_base/mapper.py
+++ b/addons/import_base/mapper.py
@@ -57,7 +57,7 @@ class concat(mapper):
self.delimiter = delimiter and delimiter.get('delimiter', ' ') or ' '
def __call__(self, external_values):
- return self.delimiter.join(map(lambda x : external_values.get(x,''), self.arg))
+ return self.delimiter.join(map(lambda x : str(external_values.get(x,'')), self.arg))
class ppconcat(mapper):
"""
@@ -71,7 +71,7 @@ class ppconcat(mapper):
self.delimiter = delimiter and delimiter.get('delimiter', ' ') or '\n\n'
def __call__(self, external_values):
- return self.delimiter.join(map(lambda x : x + ": " + external_values.get(x,''), self.arg))
+ return self.delimiter.join(map(lambda x : x + ": " + str(external_values.get(x,'')), self.arg))
class const(mapper):
"""
@@ -94,12 +94,16 @@ class value(mapper):
and don't care about the name of the field
call(self.method, value('field1'))
"""
- def __init__(self, val, default=''):
+ def __init__(self, val, default='', fallback=False):
self.val = val
self.default = default
+ self.fallback = fallback
def __call__(self, external_values):
- return external_values.get(self.val, self.default)
+ val = external_values.get(self.val, self.default)
+ if self.fallback and (not val or val == self.default):
+ val = external_values.get(self.fallback, self.default)
+ return val
class map_val(mapper):
"""
@@ -163,5 +167,3 @@ class call(mapper):
else:
args.append(arg)
return self.fun(external_values, *args)
-
- \ No newline at end of file