From dd6063ccb6eca1618c29a7dc50f9bf6368844d5f Mon Sep 17 00:00:00 2001 From: Guillaume Ayoub Date: Sun, 5 Jun 2011 12:31:00 +0200 Subject: [PATCH] Give an UID if none has already been set --- radicale/ical.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/radicale/ical.py b/radicale/ical.py index 804eeeac..9e5a74b6 100644 --- a/radicale/ical.py +++ b/radicale/ical.py @@ -31,6 +31,7 @@ import json import os import posixpath import time +import uuid from radicale import config @@ -97,14 +98,19 @@ class Item(object): self._name = line.replace("UID:", "").strip() # Do not break, a ``X-RADICALE-NAME`` can appear next - if "\nX-RADICALE-NAME:" in text: - for line in unfold(self.text): - if line.startswith("X-RADICALE-NAME:"): - self.text = self.text.replace( - line, "X-RADICALE-NAME:%s" % self._name) + if self._name: + if "\nX-RADICALE-NAME:" in text: + for line in unfold(self.text): + if line.startswith("X-RADICALE-NAME:"): + self.text = self.text.replace( + line, "X-RADICALE-NAME:%s" % self._name) + else: + self.text = self.text.replace( + "\nUID:", "\nX-RADICALE-NAME:%s\nUID:" % self._name) else: + self._name = str(uuid.uuid4()) self.text = self.text.replace( - "\nUID:", "\nX-RADICALE-NAME:%s\nUID:" % self._name) + "\nEND:", "\nUID:%s\nEND:" % self._name) @property def etag(self):