diff --git a/NEWS.rst b/NEWS.rst index a470bf0..f9c6248 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -13,7 +13,7 @@ * Support colors (by Jochen Sprickerhof) * Decode URLs in XML (by Jean-Marc Martins) * Fix PAM authentication (by Stepan Henek) -* Use consistent hashes for etags (by 9m66p93w) +* Use consistent etags (by 9m66p93w) 0.8 - Rainbow diff --git a/radicale/ical.py b/radicale/ical.py index a0e3397..3df7aaf 100644 --- a/radicale/ical.py +++ b/radicale/ical.py @@ -110,9 +110,7 @@ class Item(object): "\nEND:", "\nX-RADICALE-NAME:%s\nEND:" % self._name) def __hash__(self): - md5 = hashlib.md5() - md5.update(self.text.encode("utf-8")) - return md5.hexdigest() + return hash(self.text) def __eq__(self, item): return isinstance(item, Item) and self.text == item.text @@ -124,7 +122,9 @@ class Item(object): Etag is mainly used to know if an item has changed. """ - return '"%s"' % hash(self) + md5 = hashlib.md5() + md5.update(self.text.encode("utf-8")) + return '"%s"' % md5.hexdigest() @property def name(self):