mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[pollock] update maintainer mode
* Also add maintenance script
This commit is contained in:
		
							parent
							
								
									4483a6b17d
								
							
						
					
					
						commit
						91a18be258
					
				
					 3 changed files with 83 additions and 37 deletions
				
			
		
							
								
								
									
										20
									
								
								res/loc/po/!update.cmd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								res/loc/po/!update.cmd
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | ||||||
|  | @echo off | ||||||
|  | if not exist pollock.exe curl https://rufus.ie/locale/pollock.exe --output pollock.exe | ||||||
|  | cls | ||||||
|  | :menu | ||||||
|  | echo 1 - Import .po into .loc | ||||||
|  | echo 2 - Create .po from .loc | ||||||
|  | echo 3 - Exit | ||||||
|  | choice /N /C:123%1 | ||||||
|  | if ERRORLEVEL==3 goto exit | ||||||
|  | if ERRORLEVEL==2 ( | ||||||
|  |   pollock.exe -l | ||||||
|  |   goto menu | ||||||
|  | ) | ||||||
|  | if ERRORLEVEL==1 ( | ||||||
|  |   pollock.exe -i | ||||||
|  |   goto menu | ||||||
|  | ) | ||||||
|  | :exit | ||||||
|  | del *.pot | ||||||
|  | del *.mo | ||||||
|  | @ -973,7 +973,7 @@ namespace pollock | ||||||
|             if (Console.WindowWidth < 100) |             if (Console.WindowWidth < 100) | ||||||
|                 Console.SetWindowSize(100, Console.WindowHeight); |                 Console.SetWindowSize(100, Console.WindowHeight); | ||||||
| 
 | 
 | ||||||
|             bool use_local_loc = false; |             bool maintainer_mode = false; | ||||||
|             Console.OutputEncoding = System.Text.Encoding.UTF8; |             Console.OutputEncoding = System.Text.Encoding.UTF8; | ||||||
|             Console.CancelKeyPress += delegate (object sender, ConsoleCancelEventArgs e) { |             Console.CancelKeyPress += delegate (object sender, ConsoleCancelEventArgs e) { | ||||||
|                 e.Cancel = true; |                 e.Cancel = true; | ||||||
|  | @ -981,14 +981,6 @@ namespace pollock | ||||||
|             }; |             }; | ||||||
|             Console.WriteLine($"{app_name} {version_str} - Poedit to rufus.loc conversion utility"); |             Console.WriteLine($"{app_name} {version_str} - Poedit to rufus.loc conversion utility"); | ||||||
|             Console.WriteLine(); |             Console.WriteLine(); | ||||||
|             foreach (var arg in args) |  | ||||||
|             { |  | ||||||
|                 if (arg.Contains("l")) |  | ||||||
|                     use_local_loc = true; |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             if (AppDomain.CurrentDomain.FriendlyName.Contains('m')) |  | ||||||
|                 goto Maintainer_Mode; |  | ||||||
| 
 | 
 | ||||||
|             string loc_url = "https://github.com/pbatard/rufus/raw/master/res/loc/rufus.loc"; |             string loc_url = "https://github.com/pbatard/rufus/raw/master/res/loc/rufus.loc"; | ||||||
|             string ver_url = "https://rufus.ie/Loc.ver"; |             string ver_url = "https://rufus.ie/Loc.ver"; | ||||||
|  | @ -996,17 +988,48 @@ namespace pollock | ||||||
|             string rufus_file = null; |             string rufus_file = null; | ||||||
|             string download_url = null; |             string download_url = null; | ||||||
|             string po_file = null; |             string po_file = null; | ||||||
|  |             string loc_file = null; | ||||||
|  |             string id = "", name = ""; | ||||||
|             int[] update_version = new int[2] { 0, 0 }; |             int[] update_version = new int[2] { 0, 0 }; | ||||||
|             var list = new List<string[]>(); |             var list = new List<string[]>(); | ||||||
|             int index = -1; |             int index = -1; | ||||||
| 
 | 
 | ||||||
|  |             // Parse parameters | ||||||
|  |             foreach (var arg in args) | ||||||
|  |             { | ||||||
|  |                 if (arg.Contains("i")) | ||||||
|  |                 { | ||||||
|  |                     maintainer_mode = true; | ||||||
|  |                     goto Import; | ||||||
|  |                 } | ||||||
|  |                 else if (arg.Contains("l")) | ||||||
|  |                 { | ||||||
|  |                     loc_file = @"..\rufus.loc"; | ||||||
|  |                     foreach (var line in File.ReadAllLines(loc_file)) | ||||||
|  |                     { | ||||||
|  |                         if (line.StartsWith("l ")) | ||||||
|  |                         { | ||||||
|  |                             var el = line.Split('\"'); | ||||||
|  |                             id = el[1]; | ||||||
|  |                             name = el[3].Split('(')[0].Trim(); | ||||||
|  |                         } | ||||||
|  |                         else if (line.StartsWith("v ")) | ||||||
|  |                         { | ||||||
|  |                             list.Add(new string[] { name, id, line.Substring(2) }); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                     maintainer_mode = true; | ||||||
|  |                     goto Menu; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|             // Check for updates of this application |             // Check for updates of this application | ||||||
|             Console.Write("Downloading latest application data... "); |             Console.Write("Downloading latest application data... "); | ||||||
|             var ver = DownloadString(ver_url); |             var ver = DownloadString(ver_url); | ||||||
|             if (ver == null) |             if (ver == null) | ||||||
|             { |             { | ||||||
|                 Console.WriteLine("ERROR: Could not access application data."); |                 Console.WriteLine("ERROR: Could not access application data."); | ||||||
|                 goto Error; |                 goto Exit; | ||||||
|             } |             } | ||||||
|             foreach (var line in ver.Split('\n')) |             foreach (var line in ver.Split('\n')) | ||||||
|             { |             { | ||||||
|  | @ -1030,7 +1053,7 @@ namespace pollock | ||||||
|             if ((download_url == null) || (rufus_url == null) || (update_version[0] == 0)) |             if ((download_url == null) || (rufus_url == null) || (update_version[0] == 0)) | ||||||
|             { |             { | ||||||
|                 Console.WriteLine("FAILED"); |                 Console.WriteLine("FAILED"); | ||||||
|                 goto Error; |                 goto Exit; | ||||||
|             } |             } | ||||||
|             Console.WriteLine("DONE"); |             Console.WriteLine("DONE"); | ||||||
| 
 | 
 | ||||||
|  | @ -1043,7 +1066,7 @@ namespace pollock | ||||||
|                     if (DownloadFile(download_url)) |                     if (DownloadFile(download_url)) | ||||||
|                     { |                     { | ||||||
|                         Console.WriteLine("Now re-launch this program using the latest version."); |                         Console.WriteLine("Now re-launch this program using the latest version."); | ||||||
|                         goto Error; |                         goto Exit; | ||||||
|                     } |                     } | ||||||
|                     Console.WriteLine("Download failed."); |                     Console.WriteLine("Download failed."); | ||||||
|                 } |                 } | ||||||
|  | @ -1071,12 +1094,12 @@ namespace pollock | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (!use_local_loc) |             if (!maintainer_mode) | ||||||
|             { |             { | ||||||
|                 // Download the latest loc file |                 // Download the latest loc file | ||||||
|                 Console.Write("Downloading the latest loc file... "); |                 Console.Write("Downloading the latest loc file... "); | ||||||
|                 if (!DownloadFile(loc_url)) |                 if (!DownloadFile(loc_url)) | ||||||
|                     goto Error; |                     goto Exit; | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
|  | @ -1085,10 +1108,9 @@ namespace pollock | ||||||
|                 File.Copy(local_loc, "rufus.loc", true); |                 File.Copy(local_loc, "rufus.loc", true); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             var loc_file = loc_url.Split('/').Last(); |             loc_file = loc_url.Split('/').Last(); | ||||||
|             // Convert to CRLF and get all the language ids |             // Convert to CRLF and get all the language ids | ||||||
|             var lines = File.ReadAllLines(loc_file); |             var lines = File.ReadAllLines(loc_file); | ||||||
|             string id = "", name = ""; |  | ||||||
|             using (var writer = new StreamWriter(loc_file, false, encoding)) |             using (var writer = new StreamWriter(loc_file, false, encoding)) | ||||||
|             { |             { | ||||||
|                 foreach (var line in lines) |                 foreach (var line in lines) | ||||||
|  | @ -1142,9 +1164,12 @@ Retry: | ||||||
|             Language old_en_US = null; |             Language old_en_US = null; | ||||||
|             if (list[index][2] == list[0][2]) |             if (list[index][2] == list[0][2]) | ||||||
|             { |             { | ||||||
|                 Console.WriteLine("Note: This language is already at the most recent version!"); |                 if (!maintainer_mode) | ||||||
|                 if (!PromptForQuestion("Do you still want to edit it?")) |                 { | ||||||
|                     goto Error; |                     Console.WriteLine("Note: This language is already at the most recent version!"); | ||||||
|  |                     if (!PromptForQuestion("Do you still want to edit it?")) | ||||||
|  |                         goto Exit; | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
|  | @ -1162,34 +1187,37 @@ Retry: | ||||||
|                     var url = "https://github.com/pbatard/rufus/releases/tag/v" + list[index][2]; |                     var url = "https://github.com/pbatard/rufus/releases/tag/v" + list[index][2]; | ||||||
|                     var str = DownloadString(url); |                     var str = DownloadString(url); | ||||||
|                     if (str == null) |                     if (str == null) | ||||||
|                         goto Error; |                         goto Exit; | ||||||
|                     var sha = str.Substring(str.IndexOf("/pbatard/rufus/commit/") + 22, 40); |                     var sha = str.Substring(str.IndexOf("/pbatard/rufus/commit/") + 22, 40); | ||||||
|                     // TODO: Remove this once everyone has upgraded past 3.2 |                     // TODO: Remove this once everyone has upgraded past 3.2 | ||||||
|                     string loc_dir = ((list[index][2][0] == '2') || ((list[index][2][0] == '3') && (list[index][2][2] == '0'))) ? "localization" : "loc"; |                     string loc_dir = ((list[index][2][0] == '2') || ((list[index][2][0] == '3') && (list[index][2][2] == '0'))) ? "localization" : "loc"; | ||||||
|                     url = "https://github.com/pbatard/rufus/raw/" + sha + "/res/" + loc_dir + "/rufus.loc"; |                     url = "https://github.com/pbatard/rufus/raw/" + sha + "/res/" + loc_dir + "/rufus.loc"; | ||||||
|                     if (!DownloadFile(url, old_loc_file)) |                     if (!DownloadFile(url, old_loc_file)) | ||||||
|                         goto Error; |                         goto Exit; | ||||||
|                 } |                 } | ||||||
|                 var old_langs = ParseLocFile(old_loc_file, "en-US"); |                 var old_langs = ParseLocFile(old_loc_file, "en-US"); | ||||||
|                 if ((old_langs == null) || (old_langs.Count != 1)) |                 if ((old_langs == null) || (old_langs.Count != 1)) | ||||||
|                 { |                 { | ||||||
|                     Console.WriteLine("Error: Unable to get en-US data from previous loc file."); |                     Console.WriteLine("Error: Unable to get en-US data from previous loc file."); | ||||||
|                     goto Error; |                     goto Exit; | ||||||
|                 } |                 } | ||||||
|                 old_en_US = old_langs[0]; |                 old_en_US = old_langs[0]; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (File.Exists(po_file)) |             if (File.Exists(po_file) && !maintainer_mode) | ||||||
|             { |             { | ||||||
|                 if (!PromptForQuestion($"A '{po_file}' file already exists. Do you want to overwrite it? (If unsure, say 'y')")) |                 if (!PromptForQuestion($"A '{po_file}' file already exists. Do you want to overwrite it? (If unsure, say 'y')")) | ||||||
|                     goto Error; |                     goto Exit; | ||||||
|             } |             } | ||||||
|             if (CreatePoFiles(ParseLocFile(loc_file, list[index][1]), old_en_US) < 1) |             if (CreatePoFiles(ParseLocFile(loc_file, list[index][1]), old_en_US) < 1) | ||||||
|             { |             { | ||||||
|                 Console.WriteLine("Failed to create PO file"); |                 Console.WriteLine("Failed to create PO file"); | ||||||
|                 goto Error; |                 goto Exit; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  |             if (maintainer_mode) | ||||||
|  |                 goto Exit; | ||||||
|  | 
 | ||||||
|             // Watch for file modifications |             // Watch for file modifications | ||||||
|             FileSystemWatcher watcher = new FileSystemWatcher(); |             FileSystemWatcher watcher = new FileSystemWatcher(); | ||||||
|             watcher.Path = app_dir; |             watcher.Path = app_dir; | ||||||
|  | @ -1242,7 +1270,6 @@ Retry: | ||||||
|                 Console.WriteLine($"'{po_file}' file manually."); |                 Console.WriteLine($"'{po_file}' file manually."); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
| Exit: |  | ||||||
|             WaitForKey("Now press any key to launch your e-mail client and exit this application..."); |             WaitForKey("Now press any key to launch your e-mail client and exit this application..."); | ||||||
| 
 | 
 | ||||||
|             if ((list.Count >= 2) && (index >= 0)) |             if ((list.Count >= 2) && (index >= 0)) | ||||||
|  | @ -1254,11 +1281,7 @@ Exit: | ||||||
|             } |             } | ||||||
|             return; |             return; | ||||||
| 
 | 
 | ||||||
| Error: | Import: | ||||||
|             WaitForKey("Press any key to exit..."); |  | ||||||
|             return; |  | ||||||
| 
 |  | ||||||
| Maintainer_Mode: |  | ||||||
|             string file_name; |             string file_name; | ||||||
|             OpenFileDialog file_dialog = new OpenFileDialog(); |             OpenFileDialog file_dialog = new OpenFileDialog(); | ||||||
|             file_dialog.InitialDirectory = app_dir; |             file_dialog.InitialDirectory = app_dir; | ||||||
|  | @ -1267,7 +1290,10 @@ Maintainer_Mode: | ||||||
|             file_name = file_dialog.FileName; |             file_name = file_dialog.FileName; | ||||||
|             Console.WriteLine(file_name); |             Console.WriteLine(file_name); | ||||||
|             UpdateLocFile(ParsePoFile(file_name), app_dir + @"..\"); |             UpdateLocFile(ParsePoFile(file_name), app_dir + @"..\"); | ||||||
|             WaitForKey("Press any key to exit..."); | 
 | ||||||
|  | Exit: | ||||||
|  |             if (!maintainer_mode) | ||||||
|  |                 WaitForKey("Press any key to exit..."); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 232, 326 | IDD_DIALOG DIALOGEX 12, 12, 232, 326 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_ACCEPTFILES | EXSTYLE WS_EX_ACCEPTFILES | ||||||
| CAPTION "Rufus 3.2.1349" | CAPTION "Rufus 3.2.1350" | ||||||
| FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | ||||||
| BEGIN | BEGIN | ||||||
|     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP |     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP | ||||||
|  | @ -392,8 +392,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 3,2,1349,0 |  FILEVERSION 3,2,1350,0 | ||||||
|  PRODUCTVERSION 3,2,1349,0 |  PRODUCTVERSION 3,2,1350,0 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -411,13 +411,13 @@ BEGIN | ||||||
|             VALUE "Comments", "https://akeo.ie" |             VALUE "Comments", "https://akeo.ie" | ||||||
|             VALUE "CompanyName", "Akeo Consulting" |             VALUE "CompanyName", "Akeo Consulting" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "3.2.1349" |             VALUE "FileVersion", "3.2.1350" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "https://www.gnu.org/copyleft/gpl.html" |             VALUE "LegalTrademarks", "https://www.gnu.org/copyleft/gpl.html" | ||||||
|             VALUE "OriginalFilename", "rufus-3.2.exe" |             VALUE "OriginalFilename", "rufus-3.2.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "3.2.1349" |             VALUE "ProductVersion", "3.2.1350" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue