Fix the collection detection

This commit is contained in:
Guillaume Ayoub 2012-02-20 17:41:36 +01:00
parent 97f8738465
commit 224d0d47e8
2 changed files with 6 additions and 5 deletions

View File

@ -23,6 +23,7 @@ Filesystem storage backend.
import codecs
import os
import posixpath
import json
import time
from contextlib import contextmanager
@ -76,10 +77,10 @@ class Collection(ical.Collection):
@classmethod
def children(cls, path):
rel_path = path.replace("/", os.sep)
abs_path = os.path.join(FOLDER, rel_path)
for filename in next(os.walk(abs_path))[2]:
rel_filename = os.path.join(rel_path, filename)
abs_path = os.path.join(FOLDER, path.replace("/", os.sep))
_, directories, files = next(os.walk(abs_path))
for filename in directories + files:
rel_filename = posixpath.join(path, filename)
if cls.is_collection(rel_filename) or cls.is_item(rel_filename):
yield cls(rel_filename)

View File

@ -279,7 +279,7 @@ def _propfind_response(path, item, props, user):
if item.is_principal:
tag = ET.Element(_tag("D", "principal"))
element.append(tag)
else:
if item.is_item(item.path):
tag = ET.Element(_tag("C", item.resource_type))
element.append(tag)
tag = ET.Element(_tag("D", "collection"))