]> git.ipfire.org Git - dbl.git/commitdiff
dbl: Allow to for optimization
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 15 Mar 2026 13:35:59 +0000 (13:35 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 15 Mar 2026 13:35:59 +0000 (13:35 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/dbl/lists.py
src/scripts/dbl.in

index 8eb1922cd7dec6a429be7cfe69261d5edb541b9e..712bbddb84246d69ac4140b12b18c4e041118fb0 100644 (file)
@@ -774,12 +774,12 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True):
 
        # 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
 
index e94fd8e57f81e2bfe5ebfe4707e6b29d360b5baf..105a84d9deada51643cfbbd0bdd2c06497a268c7 100644 (file)
@@ -162,6 +162,7 @@ class CLI(object):
                # 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
@@ -539,7 +540,7 @@ class CLI(object):
                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):
                """