(self, href, item, etag)
| 49 | return href, etag |
| 50 | |
| 51 | def update(self, href, item, etag): |
| 52 | if href not in self.items: |
| 53 | raise exceptions.NotFoundError(href) |
| 54 | actual_etag, _ = self.items[href] |
| 55 | if etag != actual_etag: |
| 56 | raise exceptions.WrongEtagError(etag, actual_etag) |
| 57 | |
| 58 | new_etag = _random_string() |
| 59 | self.items[href] = (new_etag, item) |
| 60 | return new_etag |
| 61 | |
| 62 | def delete(self, href, etag): |
| 63 | if not self.has(href): |