public static int Main (string [] args) { var script = new FileScript (args, (file) => { var tryCount = 2; var result = 0; while (tryCount > 0) { // run unoconv result = Command.Run ("unoconv", string.Format ("-f pdf \"{0}\"", file)); if (result == 0) { FileHelper.Backup (file, "~backup", BackupType.Numbered); File.Delete (file); break; } tryCount--; } if (result != 0) { throw new Exception (string.Format ("Cannot convert \"{0}\" file.", file)); } return result; }); // TODO: Filter by extension (list may be very large) script.Files = FileHelper.GetFiles (FileSource.Nautilus); var scriptResult = script.Run (); return scriptResult; }
public static int Main (string [] args) { var maxSize = 1024; var script = new FileScript (args, (file) => { FileHelper.Backup (file, "~backup", BackupType.Numbered); return Command.Run ("convert", string.Format ( "\"{0}\" -auto-orient -interpolate filter -filter lanczos " + "-resize {2}x{2}> -quality 92 -sampling-factor 1:1:1 " + "-interlace Line +repage \"{1}\"", file, file, maxSize) ); }); script.Files = FileHelper.GetFiles (FileSource.Nautilus); script.AllowedExtensions.Add (".jpg"); script.AllowedExtensions.Add (".jpeg"); var result = script.Run (); return result; }