diff --git a/Patterns/Modules/Internal.vb b/Patterns/Modules/Internal.vb index c7cc56d7..03778803 100644 --- a/Patterns/Modules/Internal.vb +++ b/Patterns/Modules/Internal.vb @@ -13,6 +13,11 @@ Namespace Modules Public Const INT_VALUE_DOMAIN = "DOMAIN" Public Const INT_VALUE_DATE = "DATE" + Public Const INT_VALUE_FILENAME_EXT = "FILENAME_EXT" + Public Const INT_VALUE_FILENAME = "FILENAME_ONLY" + Public Const INT_VALUE_FILE_DATE = "FILE_DATE" + Public Const INT_VALUE_FILEEXT = "FILE_EXT" + Public Const INT_VALUE_DATE_YYYY = "YYYY" Public Const INT_VALUE_DATE_MM = "MM" Public Const INT_VALUE_DATE_DD = "DD" diff --git a/Patterns/Patterns.vb b/Patterns/Patterns.vb index c5fac360..859c27ff 100644 --- a/Patterns/Patterns.vb +++ b/Patterns/Patterns.vb @@ -1,4 +1,5 @@ -Imports System.Text.RegularExpressions +Imports System.IO +Imports System.Text.RegularExpressions Imports System.Windows.Forms Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow @@ -36,6 +37,12 @@ Public Class ClassPatterns Public Const INT_VALUE_DOMAIN = "DOMAIN" Public Const INT_VALUE_DATE = "DATE" + Public Const INT_VALUE_FILENAME_EXT = "FILENAME_EXT" + Public Const INT_VALUE_FILENAME = "FILENAME" + Public Const INT_VALUE_FILEEXT = "FILE_EXT" + Public Const INT_VALUE_FILE_DATE = "FILE_DATE" + + Public Const CLIPBOARD_VALUE_DE = "@Zwischenablage" Public Const CLIPBOARD_VALUE_EN = "@Clipboard" @@ -44,6 +51,7 @@ Public Class ClassPatterns Public Const MAX_TRY_COUNT = 100 + Public _handled_File As String = Nothing Public ReadOnly Property PatternRegex As Regex Get @@ -132,6 +140,45 @@ Public Class ClassPatterns oResult = ReplacePattern(oResult, PATTERN_INT, Now.ToShortDateString) End While + While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_FILENAME_EXT) + If Not IsNothing(_handled_File) Then + If File.Exists(_handled_File) Then + Dim oFileName As String = Path.GetFileName(_handled_File) + oResult = ReplacePattern(oResult, PATTERN_INT, oFileName) + End If + + End If + + End While + + While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_FILENAME) + If Not IsNothing(_handled_File) Then + If File.Exists(_handled_File) Then + Dim oFileName As String = Path.GetFileNameWithoutExtension(_handled_File) + oResult = ReplacePattern(oResult, PATTERN_INT, oFileName) + End If + End If + End While + While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_FILEEXT) + If Not IsNothing(_handled_File) Then + If File.Exists(_handled_File) Then + Dim oFileExt As String = Path.GetExtension(_handled_File).Substring(1) + oResult = ReplacePattern(oResult, PATTERN_INT, oFileExt) + End If + End If + End While + While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_FILE_DATE) + If Not IsNothing(_handled_File) Then + If File.Exists(_handled_File) Then + Dim oCreationDate As DateTime = File.GetCreationTime(_handled_File) + Dim oDateOnlyString As String = oCreationDate.ToString("yyyy-MM-dd") + oResult = ReplacePattern(oResult, PATTERN_INT, oDateOnlyString) + End If + End If + End While + + + Return oResult Catch ex As Exception _Logger.Error(ex)