[MERGE] merge with latest stable
[odoo/odoo.git] / addons / caldav / caldav_node.py
index b735d85..7067150 100644 (file)
 #
 ##############################################################################
 
-import time
 from document_webdav import nodes
-from document.nodes import _str2time
+from document.nodes import _str2time, nodefd_static
 import logging
-import StringIO
 from orm_utils import get_last_modified
 
 try:
-    from tools.dict_tools import dict_merge, dict_merge2
+    from tools.dict_tools import  dict_merge2
 except ImportError:
-    from document.dict_tools import dict_merge, dict_merge2
+    from document.dict_tools import  dict_merge2
 
 # TODO: implement DAV-aware errors, inherit from IOError
 
@@ -381,6 +379,9 @@ class node_calendar(nodes.node_class):
             res.append(child._get_caldav_calendar_data(cr))
         return res
 
+    def open_data(self, cr, mode):
+        return nodefd_static(self, cr, mode)
+
     def _get_caldav_calendar_description(self, cr):
         uid = self.context.uid
         calendar_obj = self.context._dirobj.pool.get('basic.calendar')
@@ -389,7 +390,7 @@ class node_calendar(nodes.node_class):
         try:
             calendar = calendar_obj.browse(cr, uid, self.calendar_id, context=ctx)
             return calendar.description or calendar.name
-        except Exception, e:
+        except Exception:
             return None
 
     def _get_dav_supported_report_set(self, cr):
@@ -458,14 +459,10 @@ class res_node_calendar(nodes.node_class):
         self.model = res_model
         self.res_id = res_id
 
-    def open(self, cr, mode=False):
-        if self.type in ('collection','database'):
-            return False
-        s = StringIO.StringIO(self.get_data(cr))
-        s.name = self
-        return s
+    def open_data(self, cr, mode):
+        return nodefd_static(self, cr, mode)
 
-    def get_data(self, cr, fil_obj = None):
+    def get_data(self, cr, fil_obj=None):
         uid = self.context.uid
         calendar_obj = self.context._dirobj.pool.get('basic.calendar')
         context = self.context.context.copy()