Skip to content

Commit

Permalink
Rewrite Test-JVData functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
jvlflame committed Sep 1, 2020
1 parent b036e59 commit ef5b42d
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 44 deletions.
33 changes: 33 additions & 0 deletions src/Javinizer/Private/Test-JVData.ps1
@@ -0,0 +1,33 @@
function Test-JVData {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true, Position = 0, ValueFromPipelineByPropertyName = $true)]
[PSObject]$Data,

[Parameter(Mandatory = $true, Position = 1)]
[Array]$RequiredFields
)

process {
$nullFields = @()
$errors = 0

if ($null -ne $RequiredFields) {
foreach ($field in $RequiredFields) {
if ($null -eq $Data.($field) -or $Data.($field) -eq '') {
$nullFields += $field
$errors++
}
}
$nullFields = $nullFields -join ', '
}

if ($errors -eq 0) {
$dataObject = [PSCustomObject]@{
Data = $Data
}

Write-Output $dataObject
}
}
}
40 changes: 0 additions & 40 deletions src/Javinizer/Private/Test-RequiredMetadata.ps1

This file was deleted.

4 changes: 3 additions & 1 deletion src/Javinizer/Public/Get-JVData.ps1
Expand Up @@ -166,7 +166,9 @@ function Get-JVData {
Data = $javinizerDataObject
}

Write-Output $dataObject
if ($null -ne $javinizerDataObject) {
Write-Output $dataObject
}

} catch {
Write-JVLog -Level Error -Message "[$Id] [$($MyInvocation.MyCommand.Name)] Error occured during scraper jobs: $PSItem"
Expand Down
15 changes: 12 additions & 3 deletions src/Javinizer/Public/Javinizer.ps1
Expand Up @@ -629,10 +629,19 @@ function Javinizer {
$index = 1
foreach ($movie in $javMovies) {
Write-Host "[$index of $($javMovies.Count)] Sorting [$($movie.FileName)] as [$($movie.Id)]"
$javData = Get-JVData -Settings $Settings -Id $movie.Id
$javAggregatedData = $javData | Get-JVAggregatedData -Settings $Settings
$javAggregatedData | Set-JVMovie -Path $movie.FullName -DestinationPath $DestinationPath -Settings $Settings -PartNumber $movie.Partnumber
$index++
$javData = Get-JVData -Settings $Settings -Id $movie.Id
if ($null -ne $javData) {
$javAggregatedData = $javData | Get-JVAggregatedData -Settings $Settings | Test-JVData -RequiredFields $Settings.'sort.metadata.requiredfield'
if ($null -ne $javAggregatedData) {
$javAggregatedData | Set-JVMovie -Path $movie.FullName -DestinationPath $DestinationPath -Settings $Settings -PartNumber $movie.Partnumber
} else {
Write-JVLog -Level Warning -Message "[$($movie.FileName)] Skipped -- missing required metadata fields"
return
}
} else {
Write-JVLog -Level Warning -Message "[$($movie.FileName)] Skipped -- not matched"
}
}
}
}
Expand Down

0 comments on commit ef5b42d

Please sign in to comment.