Selaa lähdekoodia

Fix get requests for whole calendar

Guillaume Ayoub 15 vuotta sitten
vanhempi
sitoutus
091d89889d
2 muutettua tiedostoa jossa 5 lisäystä ja 2 poistoa
  1. 3 1
      radicale/__init__.py
  2. 2 1
      radicale/xmlutils.py

+ 3 - 1
radicale/__init__.py

@@ -154,7 +154,8 @@ class CalendarHTTPHandler(server.BaseHTTPRequestHandler):
     def do_GET(self):
         """Manage GET request."""
         self.do_HEAD()
-        self.wfile.write(self._answer)
+        if self._answer:
+            self.wfile.write(self._answer)
 
     @check_rights
     def do_HEAD(self):
@@ -170,6 +171,7 @@ class CalendarHTTPHandler(server.BaseHTTPRequestHandler):
                     headers=self._calendar.headers, items=items)
                 etag = item.etag
             else:
+                self._answer = None
                 self.send_response(client.GONE)
                 return
         else:

+ 2 - 1
radicale/xmlutils.py

@@ -52,7 +52,8 @@ def _response(code):
 
 def name_from_path(path):
     """Return Radicale item name from ``path``."""
-    return path.split("/")[-1]
+    path_parts = path.strip("/").split("/")
+    return path_parts[-1] if len(path_parts) > 2 else None
 
 
 def delete(path, calendar):