From 8952757d45f560382225ffc6065c629385fdd5d6 Mon Sep 17 00:00:00 2001 From: jvlflame Date: Tue, 1 Sep 2020 00:08:27 -0700 Subject: [PATCH] Allow user defined genre csv --- src/Javinizer/Public/Get-JVAggregatedData.ps1 | 21 +++++++++++++++---- src/Javinizer/Public/Javinizer.ps1 | 11 ++++++++-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/Javinizer/Public/Get-JVAggregatedData.ps1 b/src/Javinizer/Public/Get-JVAggregatedData.ps1 index b1fcbc25..43ff5404 100644 --- a/src/Javinizer/Public/Get-JVAggregatedData.ps1 +++ b/src/Javinizer/Public/Get-JVAggregatedData.ps1 @@ -91,6 +91,10 @@ function Get-JVAggregatedData { [Alias('sort.metadata.genrecsv')] [Boolean]$ReplaceGenre, + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')] + [Alias('sort.metadata.genrecsv.path')] + [Boolean]$GenreCsvPath = (Join-Path -Path ((Get-Item $PSScriptRoot).Parent) -ChildPath 'jvGenres.csv'), + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')] [Alias('sort.metadata.genre.ignore')] [Array]$IgnoreGenre, @@ -132,6 +136,16 @@ function Get-JVAggregatedData { $IgnoreGenre = $Settings.'sort.metadata.genre.ignore' $Translate = $Settings.'sort.metadata.nfo.translate' $TranslateLanguage = $Settings.'sort.metadata.nfo.translate.language' + $GenreCsvPath = $Settings.'sort.metadata.genrecsv.path' + $ThumbCsvPath = $Settings.'sort.metadata.thumbcsv.path' + } + + if ($ThumbCsvPath -eq '') { + $ThumbCsvPath = (Join-Path -Path ((Get-Item $PSScriptRoot).Parent) -ChildPath 'jvThumbs.csv') + } + + if ($GenreCsvPath -eq '') { + $GenreCsvPath = (Join-Path -Path ((Get-Item $PSScriptRoot).Parent) -ChildPath 'jvGenres.csv') } $aggregatedDataObject = [PSCustomObject]@{ @@ -288,12 +302,11 @@ function Get-JVAggregatedData { } if ($ReplaceGenre) { - $genreCsvPath = Join-Path -Path ((Get-Item $PSScriptRoot).Parent) -ChildPath 'jvGenres.csv' - if (Test-Path -LiteralPath $genreCsvPath) { + if (Test-Path -LiteralPath $GenreCsvPath) { try { - $replaceGenres = Import-Csv -LiteralPath $genreCsvPath + $replaceGenres = Import-Csv -LiteralPath $GenreCsvPath } catch { - Write-JVLog -Level Error -Message "[$($Data[0].Id)] [$($MyInvocation.MyCommand.Name)] Error occurred when importing genre csv [$genreCsvPath]: $PSItem" + Write-JVLog -Level Error -Message "[$($Data[0].Id)] [$($MyInvocation.MyCommand.Name)] Error occurred when importing genre csv [$GenreCsvPath]: $PSItem" } $newGenres = $aggregatedDataObject.Genre diff --git a/src/Javinizer/Public/Javinizer.ps1 b/src/Javinizer/Public/Javinizer.ps1 index 6a260032..8b436c42 100644 --- a/src/Javinizer/Public/Javinizer.ps1 +++ b/src/Javinizer/Public/Javinizer.ps1 @@ -306,8 +306,6 @@ function Javinizer { ) process { - - try { if ($Settings) { $settingsPath = $Settings @@ -346,6 +344,15 @@ function Javinizer { $thumbCsvPath = $Settings.'sort.metadata.thumbcsv.path' } + if ($Settings.'sort.metadata.genrecsv.path' -eq '') { + $genreCsvPath = Join-Path -Path ((Get-Item $PSScriptRoot).Parent) -ChildPath 'jvGenres.csv' + } else { + if (!(Test-Path -LiteralPath $Settings.'sort.metadata.genrecsv.path' -PathType Leaf)) { + New-Item -LiteralPath $Settings.'sort.metadata.genrecsv.path' + } + $thumbCsvPath = $Settings.'sort.metadata.genrecsv.path' + } + switch ($PsCmdlet.ParameterSetName) { 'Info' { if ($Find -match 'https?:\/\/') {