1.1 --- a/imip_store.py Fri Sep 18 00:52:31 2015 +0200
1.2 +++ b/imip_store.py Fri Sep 18 20:05:42 2015 +0200
1.3 @@ -19,7 +19,6 @@
1.4 this program. If not, see <http://www.gnu.org/licenses/>.
1.5 """
1.6
1.7 -from bisect import bisect_left
1.8 from datetime import datetime
1.9 from imiptools.config import STORE_DIR, PUBLISH_DIR
1.10 from imiptools.data import make_calendar, parse_object, to_stream
1.11 @@ -725,30 +724,28 @@
1.12 """
1.13
1.14 requests = self.get_requests(user) or []
1.15 -
1.16 - if not self.have_request(requests, uid, recurrenceid):
1.17 - return False
1.18 + result = []
1.19
1.20 - i = bisect_left(requests, (uid, recurrenceid))
1.21 - while i < len(requests) and requests[i][:2] == (uid, recurrenceid):
1.22 + for request in requests:
1.23 + if request[:2] == (uid, recurrenceid):
1.24
1.25 - # Remove associated objects.
1.26 + # Remove associated objects.
1.27
1.28 - type = requests[i][2]
1.29 - if type == "COUNTER":
1.30 - self.remove_counter(user, uid, recurrenceid)
1.31 + type = request[2]
1.32 + if type == "COUNTER":
1.33 + self.remove_counter(user, uid, recurrenceid)
1.34
1.35 - # Remove the request.
1.36 + else:
1.37 + result.append(request)
1.38
1.39 - del requests[i]
1.40 - i += 1
1.41 -
1.42 - self.set_requests(user, requests)
1.43 + self.set_requests(user, result)
1.44 return True
1.45
1.46 def have_request(self, requests, uid, recurrenceid=None):
1.47 - i = bisect_left(requests, (uid, recurrenceid))
1.48 - return i < len(requests) and requests[i][:2] == (uid, recurrenceid)
1.49 + for request in requests:
1.50 + if request[:2] == (uid, recurrenceid):
1.51 + return True
1.52 + return False
1.53
1.54 def set_counter(self, user, node, uid, recurrenceid=None):
1.55