public void backup_Files(string backupFolder) { var files_BackupFolder = backupFolder.pathCombine("Files"); files_BackupFolder.createDir(); var files = WikiApi.allImages(); "there are {0} files to download".info(files.size()); Status_ProgressBar.maximum(files.size()); Status_ProgressBar.value(0); foreach (var file in files) { if (CancelBackup) { "In backup_Files, CancelBackup was set, so aborting backup".error(); break; } var web = new Web(); if (WikiApi.BasicAuth.valid()) { web.Headers_Request.add("Authorization", "Basic " + WikiApi.BasicAuth); } web.downloadBinaryFile(file, files_BackupFolder); Status_ProgressBar.increment(1); } }
public void savePages(string backupFolder, string targetFolder, List <string> pages, string mappingsFileName) { string pageMappings = ""; "there are: {0} pages to save".info(pages.size()); Status_ProgressBar.maximum(pages.size()); Status_ProgressBar.value(0); foreach (var page in pages) { if (CancelBackup) { "In savePages, CancelBackup was set, so aborting backup".error(); break; } pageMappings += "{0} {1}".format(page, page.base64Encode()).line(); var saveFileName = "{0}.wikitext.txt".format(Files.getSafeFileNameString(page)); WikiApi.raw(page).saveAs(targetFolder.pathCombine(saveFileName)); Status_ProgressBar.increment(1); } pageMappings.saveAs(backupFolder.pathCombine(mappingsFileName)); }
public ascx_MediaWiki_Backup buildGui(O2MediaWikiAPI wikiApi) { WikiApi = wikiApi; //var controls = this.add_1x1(false); //var configPanel = controls[0].add_Panel(); //controls[1].add_LogViewer(); var configPanel = this.add_Panel(); configPanel.add_Label("Folder to store backup files", 5, 0); BackupFolder_TextBox = configPanel.add_TextBox().top(25); BackupFolder_TextBox.align_Right(configPanel) .widthAdd(-5); BackupPages_CheckBox = configPanel.add_CheckBox("Backup content pages", 50, 0, (value) => {}).autoSize().tick(); BackupFiles_CheckBox = configPanel.add_CheckBox("Backup files", 70, 0, (value) => {}).autoSize().untick(); BackupCategoryPages_CheckBox = configPanel.add_CheckBox("Backup category Pages", 90, 0, (value) => {}).autoSize().tick(); BackupTemplates_CheckBox = configPanel.add_CheckBox("Backup template pages", 110, 0, (value) => {}).autoSize().tick(); BackupUsers_CheckBox = configPanel.add_CheckBox("Backup users pages", 50, 150, (value) => {}).autoSize().tick(); StartBackup_Button = configPanel.add_Button("Start Backup", 140, 0) .onClick(backup); CancelBackup_Button = configPanel.add_Button("Cancel Backup", 140, 100) .onClick(cancelBackup).enabled(false); Status_ProgressBar = configPanel.add_ProgressBar(170, 0); Status_ProgressBar.align_Right(configPanel) .widthAdd(-5); var rightPanel = configPanel.insert_Right <Panel>(configPanel.width() / 3); // there is a small gui frezee here which needs to be solved Backup_Directory = rightPanel.add_Directory(@"C:\O2"); setup(); return(this); }