Skip to content

Commit

Permalink
Update pipeline functions
Browse files Browse the repository at this point in the history
  • Loading branch information
jvlflame committed Aug 13, 2020
1 parent ae549fd commit e36a548
Show file tree
Hide file tree
Showing 7 changed files with 366 additions and 209 deletions.
@@ -1,18 +1,18 @@
function Convert-JavTitle {
function Convert-JVTitle {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$Files,
[PSObject]$Files,
[Parameter()]
[switch]$Strict,
[Switch]$Strict,
[Parameter()]
[string]$RegexEnabled,
[Boolean]$RegexEnabled,
[Parameter()]
[string]$RegexString,
[String]$RegexString,
[Parameter()]
[int]$RegexIdMatch,
[Int]$RegexIdMatch,
[Parameter()]
[int]$RegexPtMatch
[Int]$RegexPtMatch
)

process {
Expand Down Expand Up @@ -70,7 +70,7 @@ function Convert-JavTitle {
'_'
)

if ($RegexEnabled -eq 'True') {
if ($RegexEnabled) {
foreach ($file in $FileBaseNameOriginal) {
$fileBaseNameUpper += $file.ToUpper()
}
Expand Down Expand Up @@ -296,25 +296,27 @@ function Convert-JavTitle {

if ($Strict.IsPresent) {
$dataObject += [pscustomobject]@{
Id = $originalBaseName
ContentId = $contentId
OriginalFileName = $originalFileName
OriginalBaseName = $originalBaseName
OriginalDirectory = $originalDirectory
OriginalFullName = if ($Files.Count -eq 1) { $Files.FullName } else { $Files.fullname[$x] }
Extension = $fileExtension
PartNumber = $filePartNumber
Id = $originalBaseName
ContentId = $contentId
FileName = $originalFileName
BaseName = $originalBaseName
Directory = $originalDirectory
FullName = if ($Files.Count -eq 1) { $Files.FullName } else { $Files.fullname[$x] }
Extension = $fileExtension
Length = [Math]::Round($Files.Length[$x] / 1MB, 2)
PartNumber = $filePartNumber
}
} else {
$dataObject += [pscustomobject]@{
Id = $movieId
ContentId = $contentId
OriginalFileName = $originalFileName
OriginalBaseName = $originalBaseName
OriginalDirectory = $originalDirectory
OriginalFullName = if ($Files.Count -eq 1) { $Files.FullName } else { $Files.fullname[$x] }
Extension = $fileExtension
PartNumber = $filePartNumber
Id = $movieId
ContentId = $contentId
FileName = $originalFileName
BaseName = $originalBaseName
Directory = $originalDirectory
FullName = if ($Files.Count -eq 1) { $Files.FullName } else { $Files.fullname[$x] }
Extension = $fileExtension
Length = [Math]::Round($Files.Length[$x] / 1MB, 2)
PartNumber = $filePartNumber
}
}
}
Expand Down
47 changes: 0 additions & 47 deletions src/Javinizer/Private/Get-VideoFile.ps1

This file was deleted.

134 changes: 134 additions & 0 deletions src/Javinizer/Public/Get-JVAggregatedData.ps1
@@ -0,0 +1,134 @@
function Get-JVAggregatedData {
[CmdletBinding(DefaultParameterSetName = 'Pipeline')]
param (
[Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Pipeline')]
[Parameter(Mandatory = $true, ParameterSetName = 'Setting')]
[PSObject]$Data,
[Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Pipeline')]
[PSObject]$Settings,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.actress')]
[Array]$ActressPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.alternatetitle')]
[Array]$AlternateTitlePriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.coverurl')]
[Array]$CoverUrlPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.description')]
[Array]$DescriptionPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.director')]
[Array]$DirectorPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.genre')]
[Array]$GenrePriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.id')]
[Array]$IdPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.label')]
[Array]$LabelPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.maker')]
[Array]$MakerPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.releasedate')]
[Array]$ReleaseDatePriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.runtime')]
[Array]$RuntimePriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.series')]
[Array]$SeriesPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.screenshoturl')]
[Array]$ScreenshotUrlPriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.title')]
[Array]$TitlePriority,
[Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Setting')]
[Alias('sort.metadata.priority.trailerurl')]
[Array]$TrailerUrlPriority
)

process {
if ($Settings) {
$ActressPriority = $Settings.'sort.metadata.priority.actress'
$AlternateTitlePriority = $Settings.'sort.metadata.priority.alternatetitle'
$CoverUrlPriority = $Settings.'sort.metadata.priority.coverurl'
$DescriptionPriority = $Settings.'sort.metadata.priority.description'
$DirectorPriority = $Settings.'sort.metadata.priority.director'
$GenrePriority = $Settings.'sort.metadata.priority.genre'
$IdPriority = $Settings.'sort.metadata.priority.id'
$LabelPriority = $Settings.'sort.metadata.priority.label'
$MakerPriority = $Settings.'sort.metadata.priority.maker'
$ReleaseDatePriority = $Settings.'sort.metadata.priority.releasedate'
$RuntimePriority = $Settings.'sort.metadata.priority.runtime'
$SeriesPriority = $Settings.'sort.metadata.priority.series'
$ScreenshotUrlPriority = $Settings.'sort.metadata.priority.screenshoturl'
$TitlePriority = $Settings.'sort.metadata.priority.title'
$TrailerUrlPriority = $Settings.'sort.metadata.priority.trailerurl'
}

$aggregatedDataObject = [PSCustomObject]@{
Id = $null
Title = $null
AlternateTitle = $null
Description = $null
ReleaseDate = $null
Runtime = $null
Director = $null
Maker = $null
Label = $null
Series = $null
Actress = $null
Genre = $null
CoverUrl = $null
ScreenshotUrl = $null
TrailerUrl = $null
}

$metadataFields = @(
'Actress',
'AlternateTitle',
'CoverUrl',
'Description',
'Director',
'Genre',
'Id',
'Label',
'Maker',
'ReleaseDate',
'Runtime',
'Series',
'ScreenshotUrl',
'Title',
'TrailerUrl'
)

foreach ($field in $metadataFields) {
$metadataPriority = (Get-Variable -Name "$($field)Priority" -ValueOnly)
foreach ($priority in $metadataPriority) {
$sourceData = $Data | Where-Object { $_.Source -eq $priority }

if ($null -eq $aggregatedDataObject.$field) {
if ($field -eq 'AlternateTitle') {
$aggregatedDataObject.$field = $sourceData.Title
} else {
$aggregatedDataObject.$field = $sourceData.$field
}
Write-Debug "[$field] [$priority] Set to [$($sourceData.$field | ConvertTo-Json -Compress)]"
}
}
}

$dataObject = [PSCustomObject]@{
Data = $aggregatedDataObject
Settings = $Settings
}

Write-Output $dataObject
}
}

0 comments on commit e36a548

Please sign in to comment.