Beispiel #1
0
 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;
         }
     }
 }
Beispiel #2
0
 public ProcessorNamer(Processor processor)
 {
     this.Processor = processor;
     this._extensionFormat = ExtensionFormats.KeepCase;
     this._format = null;
     this._newFilename = "";
     this._error = i18n.Format_not_set;
 }