/// </summary>\r
public class Constants\r
{\r
- /// <summary>\r
- /// The appcast 64.\r
- /// </summary>\r
+ /* Appcast URLs */\r
public const string Appcast64 = "https://handbrake.fr/appcast.x86_64.xml";\r
-\r
- /// <summary>\r
- /// The appcast 32.\r
- /// </summary>\r
public const string AppcastUnstable64 = "https://handbrake.fr/appcast_unstable.x86_64.xml";\r
\r
- /// <summary>\r
- /// The any.\r
- /// </summary>\r
+ /* Languages */\r
public const string Any = "(Any)";\r
-\r
- /// <summary>\r
- /// Undefined Language\r
- /// </summary>\r
public const string Undefined = "und";\r
\r
- /// <summary>\r
- /// The chapters.\r
- /// </summary>\r
+ /* Autoname Contanstants */\r
public const string Chapters = "{chapters}";\r
-\r
- /// <summary>\r
- /// The title.\r
- /// </summary>\r
public const string Title = "{title}";\r
-\r
- /// <summary>\r
- /// The quality.\r
- /// </summary>\r
public const string Quality = "{quality}";\r
-\r
- /// <summary>\r
- /// The creation date of the new output file.\r
- /// </summary>\r
public const string Date = "{date}";\r
-\r
- /// <summary>\r
- /// The creation time of the new output file.\r
- /// </summary>\r
public const string Time = "{time}";\r
-\r
- /// <summary>\r
- /// The source creation date.\r
- /// </summary>\r
public const string CretaionDate = "{creation-date}";\r
-\r
- /// <summary>\r
- /// The source creation time.\r
- /// </summary>\r
public const string CreationTime = "{creation-time}";\r
-\r
- /// <summary>\r
- /// The bitrate.\r
- /// </summary>\r
public const string Bitrate = "{bitrate}";\r
-\r
- /// <summary>\r
- /// The preset.\r
- /// </summary>\r
public const string Preset = "{preset}";\r
+ public const string Source = "{source}";\r
\r
- /// <summary>\r
- /// Preset Major Version\r
- /// </summary>\r
- public const string PresetVersionMajor = "11";\r
+ public const string SourcePath = "{source_path}";\r
+ public const string SourceFolderName = "{source_folder_name}";\r
\r
- /// <summary>\r
- /// Preset Minor Version\r
- /// </summary>\r
+ /* Preset Versions */\r
+ public const string PresetVersionMajor = "11";\r
public const string PresetVersionMinor = "0";\r
-\r
- /// <summary>\r
- /// Preset Micro Version\r
- /// </summary>\r
public const string PresetVersionMicro = "0";\r
\r
public const string FileScanMru = "FileScanMru";\r
namespace HandBrakeWPF.Extensions\r
{\r
using System.Globalization;\r
+ using System.Text.RegularExpressions;\r
\r
- /// <summary>\r
- /// String Extensions\r
- /// </summary>\r
public static class StringExtensions\r
{ \r
/// <summary>\r
\r
return 0;\r
}\r
+\r
+ public static string RegexReplace(this string input, string pattern, string repacelement)\r
+ {\r
+ return Regex.Replace(input, pattern, repacelement, RegexOptions.IgnoreCase);\r
+ }\r
}\r
}\r
{\r
// Get the Source Name and remove any invalid characters\r
string sourceName = Path.GetInvalidFileNameChars().Aggregate(sourceOrLabelName, (current, character) => current.Replace(character.ToString(), string.Empty));\r
- // string sanitisedPresetName = presetName != null ? Path.GetInvalidFileNameChars().Aggregate(presetName.Name, (current, character) => current.Replace(character.ToString(), string.Empty)) : string.Empty;\r
\r
// Remove Underscores\r
if (userSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNameRemoveUnderscore))\r
{\r
destinationFilename = userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNameFormat);\r
destinationFilename =\r
- destinationFilename.Replace("{source}", sourceName)\r
- .Replace(Constants.Title, dvdTitle)\r
- .Replace(Constants.Chapters, combinedChapterTag)\r
- .Replace(Constants.Date, DateTime.Now.Date.ToShortDateString().Replace('/', '-'))\r
- .Replace(Constants.Time, DateTime.Now.ToString("HH-mm"))\r
- .Replace(Constants.CretaionDate, createDate)\r
- .Replace(Constants.CreationTime, createTime);\r
- // .Replace(Constants.Preset, sanitisedPresetName);\r
+ destinationFilename\r
+ .RegexReplace(Constants.Source, sourceName)\r
+ .RegexReplace(Constants.Title, dvdTitle)\r
+ .RegexReplace(Constants.Chapters, combinedChapterTag)\r
+ .RegexReplace(Constants.Date, DateTime.Now.Date.ToShortDateString().Replace('/', '-'))\r
+ .RegexReplace(Constants.Time, DateTime.Now.ToString("HH-mm"))\r
+ .RegexReplace(Constants.CretaionDate, createDate)\r
+ .RegexReplace(Constants.CreationTime, createTime);\r
\r
if (task.VideoEncodeRateType == VideoEncodeRateType.ConstantQuality)\r
{\r
}\r
\r
// If there is an auto name path, use it...\r
- return userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Trim().StartsWith("{source_path}") ||\r
- (userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Contains("{source_folder_name}") ||\r
+ return userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Trim().StartsWith(Constants.SourcePath) ||\r
+ (userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Contains(Constants.SourceFolderName) ||\r
Directory.Exists(userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Trim()));\r
} \r
}\r