summaryrefslogtreecommitdiff
path: root/addons/document_webdav
diff options
context:
space:
mode:
authordle@openerp.com <>2012-12-19 18:18:35 +0100
committerdle@openerp.com <>2012-12-19 18:18:35 +0100
commitf2e50cc6a739eccf1986bdcde53bbd29f36ac253 (patch)
tree0c0694ba0235b301ea1a40f0d1d98e033af17054 /addons/document_webdav
parenteabc5b0dde75d176e7abae4be40b68479d9ba294 (diff)
[FIX]paste dict_merge2 instead of import
bzr revid: dle@openerp.com-20121219171835-p6jsfd3zgq5t41ug
Diffstat (limited to 'addons/document_webdav')
-rw-r--r--addons/document_webdav/dav_fs.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/addons/document_webdav/dav_fs.py b/addons/document_webdav/dav_fs.py
index 759d6764b47..e5756f5df91 100644
--- a/addons/document_webdav/dav_fs.py
+++ b/addons/document_webdav/dav_fs.py
@@ -39,10 +39,6 @@ except ImportError:
import openerp
from openerp import pooler, sql_db, netsvc
from openerp.tools import misc
-try:
- from tools.dict_tools import dict_merge2
-except ImportError:
- from document.dict_tools import dict_merge2
from cache import memoize
from webdav import mk_lock_response
@@ -57,6 +53,22 @@ day_names = { 0: 'Mon', 1: 'Tue' , 2: 'Wed', 3: 'Thu', 4: 'Fri', 5: 'Sat', 6: 'S
month_names = { 1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'Jun',
7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Oct', 11: 'Nov', 12: 'Dec' }
+def dict_merge2(*dicts):
+ """ Return a dict with all values of dicts.
+ If some key appears twice and contains iterable objects, the values
+ are merged (instead of overwritten).
+ """
+ res = {}
+ for d in dicts:
+ for k in d.keys():
+ if k in res and isinstance(res[k], (list, tuple)):
+ res[k] = res[k] + d[k]
+ elif k in res and isinstance(res[k], dict):
+ res[k].update(d[k])
+ else:
+ res[k] = d[k]
+ return res
+
class DAV_NotFound2(DAV_NotFound):
"""404 exception, that accepts our list uris
"""