Просмотр исходного кода

Merge pull request #351 from Unrud/patch-6

Quick fix for multifilesystem
Guillaume Ayoub 10 лет назад
Родитель
Сommit
3a4184d1ab
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      radicale/storage/multifilesystem.py

+ 4 - 2
radicale/storage/multifilesystem.py

@@ -72,6 +72,8 @@ class Collection(filesystem.Collection):
                 "Can't tranlate name safely to filesystem, "
                 "skipping component: %s", name)
             return
+        if name in self.items:
+            del self.items[name]
         filesystem_path = os.path.join(self._filesystem_path, name)
         if os.path.exists(filesystem_path):
             os.remove(filesystem_path)
@@ -80,7 +82,7 @@ class Collection(filesystem.Collection):
     def text(self):
         components = (
             ical.Timezone, ical.Event, ical.Todo, ical.Journal, ical.Card)
-        items = set()
+        items = {}
         try:
             filenames = os.listdir(self._filesystem_path)
         except (OSError, IOError) as e:
@@ -99,7 +101,7 @@ class Collection(filesystem.Collection):
                     'Error while reading item %r: %r' % (path, e))
 
         return ical.serialize(
-            self.tag, self.headers, sorted(items, key=lambda x: x.name))
+            self.tag, self.headers, sorted(items.values(), key=lambda x: x.name))
 
     @classmethod
     def is_node(cls, path):