diff --git a/wikitextprocessor/core.py b/wikitextprocessor/core.py index ac800fc8..2001c975 100644 --- a/wikitextprocessor/core.py +++ b/wikitextprocessor/core.py @@ -353,6 +353,7 @@ def backup_db_path(self) -> Path: def backup_db(self) -> None: self.backup_db_path.unlink(True) + self.db_conn.commit() backup_conn = sqlite3.connect(self.backup_db_path) with backup_conn: self.db_conn.backup(backup_conn) diff --git a/wikitextprocessor/dumpparser.py b/wikitextprocessor/dumpparser.py index 50d68d9e..76eb92d9 100644 --- a/wikitextprocessor/dumpparser.py +++ b/wikitextprocessor/dumpparser.py @@ -178,22 +178,24 @@ def _add_page_wrapper( if save_pages_path is not None: save_pages_to_file(ctx, save_pages_path) - analyze_and_overwrite_pages(ctx, overwrite_folders) + analyze_and_overwrite_pages(ctx, overwrite_folders, skip_extract_dump) def analyze_and_overwrite_pages( - ctx: "Wtp", overwrite_folders: Optional[List[Path]] + ctx: "Wtp", overwrite_folders: Optional[List[Path]], skip_extract_dump: bool ) -> None: if overwrite_folders is not None: if overwrite_pages(ctx, overwrite_folders, False): # has template - ctx.backup_db() + if skip_extract_dump: + ctx.backup_db() overwrite_pages(ctx, overwrite_folders, True) ctx.analyze_templates() else: if not ctx.has_analyzed_templates(): ctx.analyze_templates() - ctx.backup_db() + if skip_extract_dump: + ctx.backup_db() overwrite_pages(ctx, overwrite_folders, True) elif not ctx.has_analyzed_templates(): ctx.analyze_templates()