# Optimize!
- async def optimize(self, update_stats=True):
+ async def optimize(self, force=False, update_stats=True):
"""
Optimizes this list
"""
# Don't optimize if the list has not been changed
- if self.updated_at <= self.optimized_at:
+ if not force and self.updated_at <= self.optimized_at:
log.debug("%s does not require optimization..." % self)
return
# optimize
optimize = subparsers.add_parser("optimize", help=_("Optimize a list"))
optimize.add_argument("list", help=_("The name of the list"))
+ optimize.add_argument("--force", action="store_true", help=_("Force to optimize"))
optimize.set_defaults(func=self.__optimize)
# history
list = await self.__get_list(backend, args.list)
with dbl.util.Stopwatch(_("Optimizing %s") % list):
- await list.optimize()
+ await list.optimize(force=args.force)
async def __history(self, backend, args):
"""