67 lines
2.9 KiB
VB.net
67 lines
2.9 KiB
VB.net
Imports System.IO
|
|
Imports DigitalData.Modules.Logging
|
|
|
|
Namespace Modules
|
|
Public Class FileInformation
|
|
Inherits BaseModule
|
|
Implements IModule
|
|
|
|
Public Const FILE_VALUE_FILEINFO = "FILEINFO"
|
|
Public Const FILE_VALUE_FILENAME = "FILENAME"
|
|
Public Const FILE_VALUE_EXTENSION = "EXTENSION"
|
|
Public Const FILE_VALUE_FILENAME_EXT = "FILENAME_EXT"
|
|
Public Const FILE_VALUE_DATE_CREATED = "DATE_CREATED"
|
|
Public Const FILE_VALUE_DATE_MODIFIED = "DATE_MODIFIED"
|
|
|
|
Public Property PatternIdentifier As String = "FILE" Implements IModule.PatternIdentifier
|
|
Public Property IsComplex As Boolean = False Implements IModule.IsComplex
|
|
|
|
Public Sub New(pLogConfig As LogConfig)
|
|
MyBase.New(pLogConfig)
|
|
End Sub
|
|
|
|
Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace
|
|
Dim oResult = pInput
|
|
Dim oCounter = 0
|
|
Dim oFileInfo As FileInfo = pReplaceMap.Item(FILE_VALUE_FILEINFO)
|
|
|
|
' Replace Filename without extension
|
|
While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_FILENAME)
|
|
Dim oFilenameWithoutExtension = Path.GetFileNameWithoutExtension(oFileInfo.Name)
|
|
oResult = ReplacePattern(oResult, PatternIdentifier, oFilenameWithoutExtension)
|
|
IncrementCounterOrThrow(oCounter)
|
|
End While
|
|
|
|
' Replace Filename with extension
|
|
While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_FILENAME_EXT)
|
|
Dim oFilename As String = oFileInfo.Name
|
|
oResult = ReplacePattern(oResult, PatternIdentifier, oFilename)
|
|
IncrementCounterOrThrow(oCounter)
|
|
End While
|
|
|
|
' Replace Extension
|
|
While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_FILENAME_EXT)
|
|
Dim oExtension As String = oFileInfo.Extension.Substring(1)
|
|
oResult = ReplacePattern(oResult, PatternIdentifier, oExtension)
|
|
IncrementCounterOrThrow(oCounter)
|
|
End While
|
|
|
|
' Replace creation date
|
|
While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_DATE_CREATED)
|
|
Dim oDateCreated = oFileInfo.CreationTime.ToString("yyyy-MM-dd")
|
|
oResult = ReplacePattern(oResult, PatternIdentifier, oDateCreated)
|
|
IncrementCounterOrThrow(oCounter)
|
|
End While
|
|
|
|
' Replace last modification date
|
|
While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_DATE_CREATED)
|
|
Dim oDateModified = oFileInfo.LastWriteTime.ToString("yyyy-MM-dd")
|
|
oResult = ReplacePattern(oResult, PatternIdentifier, oDateModified)
|
|
IncrementCounterOrThrow(oCounter)
|
|
End While
|
|
|
|
Return oResult
|
|
End Function
|
|
End Class
|
|
|
|
End Namespace |