# HG changeset patch # User Paul Boddie # Date 1442599542 -7200 # Node ID 146c37781587cc021c8f25302d63286c3233e802 # Parent 3b0ac9430955f46ac3e0e56cfcd94bb3dd28819a Replaced bisection usage since requests are not actually sorted. diff -r 3b0ac9430955 -r 146c37781587 imip_store.py --- a/imip_store.py Fri Sep 18 00:52:31 2015 +0200 +++ b/imip_store.py Fri Sep 18 20:05:42 2015 +0200 @@ -19,7 +19,6 @@ this program. If not, see . """ -from bisect import bisect_left from datetime import datetime from imiptools.config import STORE_DIR, PUBLISH_DIR from imiptools.data import make_calendar, parse_object, to_stream @@ -725,30 +724,28 @@ """ requests = self.get_requests(user) or [] - - if not self.have_request(requests, uid, recurrenceid): - return False + result = [] - i = bisect_left(requests, (uid, recurrenceid)) - while i < len(requests) and requests[i][:2] == (uid, recurrenceid): + for request in requests: + if request[:2] == (uid, recurrenceid): - # Remove associated objects. + # Remove associated objects. - type = requests[i][2] - if type == "COUNTER": - self.remove_counter(user, uid, recurrenceid) + type = request[2] + if type == "COUNTER": + self.remove_counter(user, uid, recurrenceid) - # Remove the request. + else: + result.append(request) - del requests[i] - i += 1 - - self.set_requests(user, requests) + self.set_requests(user, result) return True def have_request(self, requests, uid, recurrenceid=None): - i = bisect_left(requests, (uid, recurrenceid)) - return i < len(requests) and requests[i][:2] == (uid, recurrenceid) + for request in requests: + if request[:2] == (uid, recurrenceid): + return True + return False def set_counter(self, user, node, uid, recurrenceid=None):