diff options
| author | pap (OpenERP) <> | 2010-07-13 10:40:57 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2010-07-13 10:40:57 +0200 |
| commit | 6b2e5e14ac2ddc26ab75bc5390acf8a26dbdff87 (patch) | |
| tree | 6500dde34a17c1e722b4331dc2ad1a9855399ab7 /bin/tools | |
| parent | a07efee20246903d03ce7ff84f2aab4dc34a51b5 (diff) | |
[IMP] data serialization/loading: support timedelta expressions in eval
bzr revid: odo@openerp.com-20100713084057-7rw6k62k49nrhlug
Diffstat (limited to 'bin/tools')
| -rw-r--r-- | bin/tools/convert.py | 3 | ||||
| -rw-r--r-- | bin/tools/yaml_import.py | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/bin/tools/convert.py b/bin/tools/convert.py index 6f1a4e5996a..ca017ad6b55 100644 --- a/bin/tools/convert.py +++ b/bin/tools/convert.py @@ -27,7 +27,7 @@ import pickle import re import sys -from datetime import datetime +from datetime import datetime, timedelta from lxml import etree import ir import misc @@ -87,6 +87,7 @@ def _eval_xml(self,node, pool, cr, uid, idref, context=None): idref2 = idref.copy() idref2['time'] = time idref2['DateTime'] = datetime + idref2['timedelta'] = timedelta import release idref2['version'] = release.major_version idref2['ref'] = lambda x: self.id_get(cr, False, x) diff --git a/bin/tools/yaml_import.py b/bin/tools/yaml_import.py index 856fe800224..45815bf5795 100644 --- a/bin/tools/yaml_import.py +++ b/bin/tools/yaml_import.py @@ -1,6 +1,7 @@ # -*- encoding: utf-8 -*- import types import time # used to eval time.strftime expressions +from datetime import datetime, timedelta import logging import pooler @@ -116,7 +117,7 @@ class RecordDictWrapper(dict): if key in self.record: return self.record[key] return dict.__getitem__(self, key) - + class YamlInterpreter(object): def __init__(self, cr, module, id_map, mode, filename, noupdate=False): self.cr = cr @@ -130,7 +131,11 @@ class YamlInterpreter(object): self.pool = pooler.get_pool(cr.dbname) self.uid = 1 self.context = {} # opererp context - self.eval_context = {'ref': self._ref(), '_ref': self._ref(), 'time': time} # added '_ref' so that record['ref'] is possible + self.eval_context = {'ref': self._ref(), + '_ref': self._ref(), # added '_ref' so that record['ref'] is possible + 'time': time, + 'datetime': datetime, + 'timedelta': timedelta} def _ref(self): return lambda xml_id: self.get_id(xml_id) @@ -139,7 +144,7 @@ class YamlInterpreter(object): model = self.pool.get(model_name) assert model, "The model %s does not exist." % (model_name,) return model - + def validate_xml_id(self, xml_id): id = xml_id if '.' in xml_id: |
