public void SetFormat(string format, ExtensionFormats extensionFormat) { if (format == null) { format = ""; } if ((this._format != null) && string.Compare(format, this._format, false) == 0 && this._extensionFormat == extensionFormat) { return; } this._error = ""; this._extensionFormat = extensionFormat; this._format = format; this._newFilename = ""; if (format.Length == 0) { this._error = i18n.No_format_specified; } else { string newFilename = format; if (newFilename.IndexOf('<') >= 0 && newFilename.IndexOf('>') > newFilename.IndexOf('<')) { DateTime? timestamp = (this.Processor.Info == null) ? null : (DateTime?)this.Processor.Info.TimestampMean; if (timestamp.HasValue) { newFilename = newFilename .Replace("<Y>", timestamp.Value.Year.ToString("D4")) .Replace("<M>", timestamp.Value.Month.ToString("D2")) .Replace("<D>", timestamp.Value.Day.ToString("D2")) .Replace("<h>", timestamp.Value.Hour.ToString("D2")) .Replace("<m>", timestamp.Value.Minute.ToString("D2")) .Replace("<s>", timestamp.Value.Second.ToString("D2")) ; } else if (newFilename.Contains("<Y>") || newFilename.Contains("<M>") || newFilename.Contains("<D>") || newFilename.Contains("<h>") || newFilename.Contains("<m>") || newFilename.Contains("<s>")) { this._error = i18n.No_timestamp_in_metadata; } } if (this._error.Length == 0) { char[] badChars = Path.GetInvalidFileNameChars(); int iBadChar = newFilename.IndexOfAny(badChars); if (iBadChar >= 0) { this._error = string.Format(i18n.Invalid_char_in_file_name_X, badChars[Array.IndexOf(badChars, newFilename[iBadChar])]); } } if (this._error.Length == 0) { string extension = Path.GetExtension(this.Processor.Filename); switch (this._extensionFormat) { case ExtensionFormats.LowerCase: extension = extension.ToLowerInvariant(); break; case ExtensionFormats.UpperCase: extension = extension.ToUpperInvariant(); break; } this._newFilename = newFilename + extension; } } }
public ProcessorNamer(Processor processor) { this.Processor = processor; this._extensionFormat = ExtensionFormats.KeepCase; this._format = null; this._newFilename = ""; this._error = i18n.Format_not_set; }