##// END OF EJS Templates
baseset: explicitly track order of the baseset...
Pierre-Yves David -
r22829:36e09c25 default
parent child Browse files
Show More
@@ -2372,10 +2372,13 b' class baseset(abstractsmartset):'
2372 return bool(self._list)
2372 return bool(self._list)
2373
2373
2374 def sort(self, reverse=False):
2374 def sort(self, reverse=False):
2375 self._list.sort(reverse=reverse)
2375 self._ascending = not bool(reverse)
2376
2376
2377 def reverse(self):
2377 def reverse(self):
2378 self._list.reverse()
2378 if self._ascending is None:
2379 self._list.reverse()
2380 else:
2381 self._ascending = not self._ascending
2379
2382
2380 def __len__(self):
2383 def __len__(self):
2381 return len(self._list)
2384 return len(self._list)
@@ -2421,12 +2424,22 b' class baseset(abstractsmartset):'
2421
2424
2422 def first(self):
2425 def first(self):
2423 if self:
2426 if self:
2424 return self._list[0]
2427 if self._ascending is None:
2428 return self._list[0]
2429 elif self._ascending:
2430 return self._asclist[0]
2431 else:
2432 return self._asclist[-1]
2425 return None
2433 return None
2426
2434
2427 def last(self):
2435 def last(self):
2428 if self:
2436 if self:
2429 return self._list[-1]
2437 if self._ascending is None:
2438 return self._list[-1]
2439 elif self._ascending:
2440 return self._asclist[-1]
2441 else:
2442 return self._asclist[0]
2430 return None
2443 return None
2431
2444
2432 class filteredset(abstractsmartset):
2445 class filteredset(abstractsmartset):
General Comments 0
You need to be logged in to leave comments. Login now