diff --git a/src/Javinizer/Private/Get-DmmDataObject.ps1 b/src/Javinizer/Private/Get-DmmDataObject.ps1 index f05ef387..a77e0667 100644 --- a/src/Javinizer/Private/Get-DmmDataObject.ps1 +++ b/src/Javinizer/Private/Get-DmmDataObject.ps1 @@ -1,79 +1,51 @@ function Get-DmmDataObject { [CmdletBinding()] - [OutputType([pscustomobject])] param ( - [Parameter(Position = 0)] - [string]$Name, - [Parameter(Position = 1)] - [string]$Url, - [string]$AltName + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] + [string]$Url ) - begin { - Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Function started" + process { $movieDataObject = @() - } + $dmmUrl = $Url - process { - if ($Url) { - $dmmUrl = $Url - } else { - # ! Current limitation: relies on the video being available on R18.com to generate the DMM link - $r18Url = Get-R18Url -Name $Name -AltName $AltName - if ($null -eq $r18Url) { - Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Search [$Name] not matched; Skipping..." - Write-Verbose "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Search [$Name] not matched on Dmm" - return - } - $r18Id = (($r18Url -split 'id=')[1] -split '\/')[0] - $dmmUrl = 'https://www.dmm.co.jp/digital/videoa/-/detail/=/cid=' + $r18Id - Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] R18 ID is: $r18Id" - Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] DMM url is: $dmmUrl" + try { + Write-JLog -Level Debug -Message "Performing [GET] on URL [$dmmUrl]" + $webRequest = Invoke-WebRequest -Uri $dmmUrl -Method Get -Verbose:$false + } catch { + Write-JLog -Level Error -Message "Error [GET] on URL [$dmmUrl]: $PSItem" } - if ($null -ne $dmmUrl) { - try { - Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Performing [GET] on Uri [$dmmUrl]" - $webRequest = Invoke-WebRequest -Uri $dmmUrl -Method Get -Verbose:$false - } catch { - throw $_ - } - - $movieDataObject = [pscustomobject]@{ - Source = 'dmm' - Url = $dmmUrl - ContentId = Get-DmmContentId -WebRequest $webRequest - Title = Get-DmmTitle -WebRequest $webRequest - Description = Get-DmmDescription -WebRequest $webRequest - Date = Get-DmmReleaseDate -WebRequest $webRequest - Year = Get-DmmReleaseYear -WebRequest $webRequest - Runtime = Get-DmmRuntime -WebRequest $webRequest - Director = Get-DmmDirector -WebRequest $webRequest - Maker = Get-DmmMaker -WebRequest $webRequest - Label = Get-DmmLabel -WebRequest $webRequest - Series = Get-DmmSeries -WebRequest $webRequest - Rating = Get-DmmRating -WebRequest $webRequest - RatingCount = Get-DmmRatingCount -WebRequest $webRequest - Actress = Get-DmmActress -WebRequest $webRequest - Genre = Get-DmmGenre -WebRequest $webRequest - CoverUrl = Get-DmmCoverUrl -WebRequest $webRequest - ScreenshotUrl = Get-DmmScreenshotUrl -WebRequest $webRequest - #TrailerUrl = Get-DmmTrailerUrl -WebRequest $webRequest - } + $movieDataObject = [pscustomobject]@{ + Source = 'dmm' + Url = $dmmUrl + ContentId = Get-DmmContentId -WebRequest $webRequest + Title = Get-DmmTitle -WebRequest $webRequest + Description = Get-DmmDescription -WebRequest $webRequest + Date = Get-DmmReleaseDate -WebRequest $webRequest + Year = Get-DmmReleaseYear -WebRequest $webRequest + Runtime = Get-DmmRuntime -WebRequest $webRequest + Director = Get-DmmDirector -WebRequest $webRequest + Maker = Get-DmmMaker -WebRequest $webRequest + Label = Get-DmmLabel -WebRequest $webRequest + Series = Get-DmmSeries -WebRequest $webRequest + Rating = Get-DmmRating -WebRequest $webRequest + RatingCount = Get-DmmRatingCount -WebRequest $webRequest + Actress = Get-DmmActress -WebRequest $webRequest + Genre = Get-DmmGenre -WebRequest $webRequest + CoverUrl = Get-DmmCoverUrl -WebRequest $webRequest + ScreenshotUrl = Get-DmmScreenshotUrl -WebRequest $webRequest + #TrailerUrl = Get-DmmTrailerUrl -WebRequest $webRequest } - Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] DMM data object:" - $movieDataObject | Format-List | Out-String | Write-Debug + Write-JLog -Level Debug -Message "DMM data object: $($movieDataObject | ConvertTo-Json -Depth 32 -Compress)" Write-Output $movieDataObject } - - end { - Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Function ended" - } } function Get-DmmContentId { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -86,6 +58,7 @@ function Get-DmmContentId { function Get-DmmTitle { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -98,6 +71,7 @@ function Get-DmmTitle { function Get-DmmDescription { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -118,6 +92,7 @@ function Get-DmmDescription { function Get-DmmReleaseDate { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -132,6 +107,7 @@ function Get-DmmReleaseDate { function Get-DmmReleaseYear { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -144,6 +120,7 @@ function Get-DmmReleaseYear { function Get-DmmRuntime { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -156,6 +133,7 @@ function Get-DmmRuntime { function Get-DmmDirector { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -173,6 +151,7 @@ function Get-DmmDirector { function Get-DmmMaker { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -185,6 +164,7 @@ function Get-DmmMaker { function Get-DmmLabel { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -202,6 +182,7 @@ function Get-DmmLabel { function Get-DmmSeries { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -219,6 +200,7 @@ function Get-DmmSeries { function Get-DmmRating { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -238,6 +220,7 @@ function Get-DmmRating { function Get-DmmRatingCount { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) @@ -250,14 +233,12 @@ function Get-DmmRatingCount { function Get-DmmActress { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) - begin { - $actressArray = @() - } - process { + $actressArray = @() $actressHtml = ((($WebRequest.Content -split '出演者:<\/td>')[1] -split '<\/td>')[0] -split '')[1] $actressHtml = $actressHtml -replace '', '' $actressHtml = $actressHtml -split '<\/a>', '' @@ -279,14 +260,12 @@ function Get-DmmActress { function Get-DmmGenre { param ( + [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [object]$WebRequest ) - begin { - $genreArray = @() - } - process { + $genreArray = @() $genre = (((($WebRequest.Content -split 'ジャンル:<\/td>')[1] -split '<\/td>')[0] -split '
(.*):<\/span> (\d{4}-\d{2}-\d{2})<\/p>').Matches.Groups[2].Value
+ $releaseDate = ($WebRequest | ForEach-Object { $_ -split '\n' } |
+ Select-String ' (.*):<\/span> (\d{4}-\d{2}-\d{2})<\/p>').Matches.Groups[2].Value
} catch {
return
}
@@ -120,6 +98,7 @@ function Get-JavbusReleaseDate {
function Get-JavbusReleaseYear {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -137,13 +116,14 @@ function Get-JavbusReleaseYear {
function Get-JavbusRuntime {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
process {
try {
- $length = ($WebRequest | ForEach-Object { $_ -split '\n' } |
- Select-String ' (.*):<\/span> (\d{1,3})(.*)<\/p>').Matches[1].Groups[2].Value
+ $length = ($WebRequest | ForEach-Object { $_ -split '\n' } |
+ Select-String ' (.*):<\/span> (\d{1,3})(.*)<\/p>').Matches[1].Groups[2].Value
} catch {
return
}
@@ -154,13 +134,14 @@ function Get-JavbusRuntime {
function Get-JavbusDirector {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
process {
try {
$director = ($WebRequest | ForEach-Object { $_ -split '\n' } |
- Select-String -Pattern ' (.*)<\/span> (.*)<\/a><\/p>').Matches.Groups[5].Value
+ Select-String -Pattern ' (.*)<\/span> (.*)<\/a><\/p>').Matches.Groups[5].Value
} catch {
return
}
@@ -174,6 +155,7 @@ function Get-JavbusDirector {
function Get-JavbusMaker {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -192,6 +174,7 @@ function Get-JavbusMaker {
function Get-JavbusLabel {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -210,12 +193,13 @@ function Get-JavbusLabel {
function Get-JavbusSeries {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
process {
try {
- $series = ($WebRequest | ForEach-Object { $_ -split '\n'} |
+ $series = ($WebRequest | ForEach-Object { $_ -split '\n' } |
Select-String -Pattern ' (.*)<\/span> (.*)<\/a>').Matches.Groups[5].Value
} catch {
return
@@ -228,6 +212,7 @@ function Get-JavbusSeries {
function Get-JavbusRating {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -238,18 +223,16 @@ function Get-JavbusRating {
function Get-JavbusGenre {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
- begin {
- $genre = @()
- }
-
process {
+ $genre = @()
try {
$genre = ($WebRequest | ForEach-Object { $_ -split '\n' } |
Select-String '(.*)<\/a><\/span>').Matches |
- ForEach-Object { $_.Groups[3].Value }
+ ForEach-Object { $_.Groups[3].Value }
} catch {
return
}
@@ -260,25 +243,24 @@ function Get-JavbusGenre {
function Get-JavbusActress {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
- begin {
+ process {
$actress = @()
- }
- process {
try {
$actress = ($WebRequest | ForEach-Object { $_ -split '\n' } |
Select-String '(.*)<\/a>').Matches |
- ForEach-Object { $_.Groups[3].Value } |
- Where-Object { $_ -ne '' } |
- Select-Object -Unique
+ ForEach-Object { $_.Groups[3].Value } |
+ Where-Object { $_ -ne '' } |
+ Select-Object -Unique
$actressThumb = ($WebRequest | ForEach-Object { $_ -split '\n' } |
Select-String '<\/a>').Matches |
- ForEach-Object { $_.Groups[3].Value} |
- Where-Object { $_ -ne ''}
+ ForEach-Object { $_.Groups[3].Value } |
+ Where-Object { $_ -ne '' }
$movieActressObject = [pscustomobject]@{
@@ -295,6 +277,7 @@ function Get-JavbusActress {
function Get-JavbusCoverUrl {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -312,19 +295,18 @@ function Get-JavbusCoverUrl {
function Get-JavbusScreenshotUrl {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
- begin {
+ process {
$screenshotUrl = @()
- }
- process {
try {
$screenshotUrl = (($WebRequest | ForEach-Object { $_ -split '\n' } |
- Select-String -Pattern 'href="(https:\/\/images\.javbus\.(com|org)\/bigsample\/(.*))">') -split '').Matches |
- ForEach-Object { $_.Groups[1].Value }
+ Select-String -Pattern 'href="(https:\/\/images\.javbus\.(com|org)\/bigsample\/(.*))">') -split '').Matches |
+ ForEach-Object { $_.Groups[1].Value }
} catch {
return
}
diff --git a/src/Javinizer/Private/Get-JavbusUrl.ps1 b/src/Javinizer/Private/Get-JavbusUrl.ps1
index 9eb4d0a8..298c987c 100644
--- a/src/Javinizer/Private/Get-JavbusUrl.ps1
+++ b/src/Javinizer/Private/Get-JavbusUrl.ps1
@@ -1,30 +1,31 @@
function Get-JavbusUrl {
[CmdletBinding()]
param (
- [Parameter(Mandatory = $true, Position = 0)]
- [string]$Name,
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
+ [string]$Id,
+ [Parameter(Mandatory = $true)]
+ [ValidateSet('ja', 'en', 'zh')]
[string]$Language
)
- begin {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Function started"
- $searchUrl = "https://www.javbus.com/search/$Name&type=0&parent=uc"
- }
-
process {
+ $searchUrl = "https://www.javbus.com/search/$Id&type=0&parent=uc"
+
try {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Performing [GET] on Uri [$searchUrl]"
+ Write-JLog -Level Debug -Message "Performing [GET] on URL [$searchUrl]"
$webRequest = Invoke-RestMethod -Uri $searchUrl -Method Get -Verbose:$false
} catch {
try {
- $searchUrl = "https://www.javbus.com/uncensored/search/$Name&type=0&parent=uc"
+ $searchUrl = "https://www.javbus.com/uncensored/search/$Id&type=0&parent=uc"
+ Write-JLog -Level Debug -Message "Performing [GET] on URL [$searchUrl]"
$webRequest = Invoke-RestMethod -Uri $searchUrl -Method Get -Verbose:$false
} catch {
try {
- $searchUrl = "https://www.javbus.org/search/$Name&type=0&parent=uc"
+ $searchUrl = "https://www.javbus.org/search/$Id&type=0&parent=uc"
+ Write-JLog -Level Debug -Message "Performing [GET] on URL [$searchUrl]"
$webRequest = Invoke-RestMethod -Uri $searchUrl -Method Get -Verbose:$false
} catch {
- Write-Verbose "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Search [$Name] not matched on JavBus"
+ Write-JLog -Level Warning -Message "Search [$Id] not matched on JavBus"
return
}
}
@@ -40,19 +41,27 @@ function Get-JavbusUrl {
}
if ($numResults -ge 1) {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Searching [$Tries] of [$numResults] results for [$Name]"
+ Write-JLog -Level Debug -Message "Searching [$Tries] of [$numResults] results for [$Id]"
$count = 1
foreach ($result in $searchResults) {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Performing [GET] on Uri [$result]"
- $webRequest = Invoke-RestMethod -Uri $result -Method Get -Verbose:$false
+ try {
+ Write-JLog -Level Debug -Message "Performing [GET] on URL [$result]"
+ $webRequest = Invoke-RestMethod -Uri $result -Method Get -Verbose:$false
+ } catch {
+ Write-JLog -Level Error -Message "Error [GET] on URL [$result]: $PSItem"
+ }
$resultId = Get-JavbusId -WebRequest $webRequest
- if ($resultId -eq $Name) {
- $directUrl = "https://" + ($result -split '/')[-2]+ "/$Language/" + ($result -split '/')[-1]
+ if ($resultId -eq $Id) {
+ if ($Language -eq 'zh') {
+ $directUrl = "https://" + ($result -split '/')[-2] + "/" + ($result -split '/')[-1]
+ } else {
+ $directUrl = "https://" + ($result -split '/')[-2] + "/$Language/" + ($result -split '/')[-1]
+ }
break
}
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Result [$count] is [$resultId]"
+ Write-JLog -Level Debug -Message "Result [$count] is [$resultId]"
if ($count -eq $Tries) {
break
@@ -62,7 +71,7 @@ function Get-JavbusUrl {
}
if ($null -eq $directUrl) {
- Write-Verbose "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Search [$Name] not matched on JavBus"
+ Write-JLog -Level Warning -Message "Search [$Id] not matched on JavBus"
return
} else {
Write-Output $directUrl
@@ -70,4 +79,3 @@ function Get-JavbusUrl {
}
}
}
-
diff --git a/src/Javinizer/Private/Get-JavlibraryDataObject.ps1 b/src/Javinizer/Private/Get-JavlibraryDataObject.ps1
index 8772cbc0..b9dbb667 100644
--- a/src/Javinizer/Private/Get-JavlibraryDataObject.ps1
+++ b/src/Javinizer/Private/Get-JavlibraryDataObject.ps1
@@ -1,82 +1,46 @@
function Get-JavlibraryDataObject {
[CmdletBinding()]
- [OutputType([pscustomobject])]
param (
- [Parameter(Position = 0)]
- [string]$Name,
- [Parameter(Position = 1)]
- [string]$Url,
- [string]$ScriptRoot,
- [switch]$Zh,
- [switch]$Ja
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
+ [string]$Url
)
- begin {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Function started"
+ process {
$movieDataObject = @()
- }
- process {
- if ($Url) {
- $javlibraryUrl = $Url
- } else {
- if ($Zh.IsPresent) {
- $javlibraryUrl = Get-JavLibraryUrl -Name $Name -ScriptRoot $ScriptRoot -Zh
- } elseif ($Ja.IsPresent) {
- $javlibraryUrl = Get-JavLibraryUrl -Name $Name -ScriptRoot $ScriptRoot -Ja
- } else {
- $javlibraryUrl = Get-JavLibraryUrl -Name $Name -ScriptRoot $ScriptRoot
- }
+ try {
+ Write-JLog -Level Debug -Message "Performing [GET] on URL [$Url] with Session: [$Session] and UserAgent: [$($Session.UserAgent)]"
+ $webRequest = Invoke-WebRequest -Uri $Url -Method Get -WebSession $Session -UserAgent $Session.UserAgent -Verbose:$false
+ } catch {
+ Write-JLog -Level Error -Message "Error [GET] on URL [$Url]: $PSItem"
}
- if ($null -ne $javlibraryUrl) {
- try {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Performing [GET] on Uri [$javlibraryUrl] with Session: [$Session] and UserAgent: [$($Session.UserAgent)]"
- $webRequest = Invoke-WebRequest -Uri $javlibraryUrl -Method Get -WebSession $Session -UserAgent $Session.UserAgent -Verbose:$false
- } catch [Microsoft.PowerShell.Commands.HttpResponseException] {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Session to JAVLibrary is unsuccessful, attempting to start a new session with Cloudflare"
- try {
- New-CloudflareSession -ScriptRoot $ScriptRoot
- } catch {
- throw $_
- }
-
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Performing [GET] on Uri [$javlibraryUrl] with Session: [$Session] and UserAgent: [$($Session.UserAgent)]"
- $webRequest = Invoke-WebRequest -Uri $javlibraryUrl -Method Get -WebSession $Session -UserAgent $Session.UserAgent -Verbose:$false
- }
-
- $movieDataObject = [pscustomobject]@{
- Source = 'javlibrary'
- Url = $javlibraryUrl
- Id = Get-JLId -WebRequest $webRequest
- AjaxId = Get-JLAjaxId -WebRequest $webRequest
- Title = Get-JLTitle -WebRequest $webRequest
- Date = Get-JLReleaseDate -WebRequest $webRequest
- Year = Get-JLReleaseYear -WebRequest $webRequest
- Runtime = Get-JLRuntime -WebRequest $webRequest
- Director = Get-JLDirector -WebRequest $webRequest
- Maker = Get-JLMaker -WebRequest $webRequest
- Label = Get-JLLabel -WebRequest $webRequest
- Rating = Get-JLRating -WebRequest $webRequest
- Actress = Get-JLActress -WebRequest $webRequest
- Genre = Get-JLGenre -WebRequest $webRequest
- CoverUrl = Get-JLCoverUrl -WebRequest $webRequest
- ScreenshotUrl = Get-JLScreenshotUrl -WebRequest $webRequest
- }
+ $movieDataObject = [pscustomobject]@{
+ Source = 'javlibrary'
+ Url = $Url
+ Id = Get-JLId -WebRequest $webRequest
+ AjaxId = Get-JLAjaxId -WebRequest $webRequest
+ Title = Get-JLTitle -WebRequest $webRequest
+ Date = Get-JLReleaseDate -WebRequest $webRequest
+ Year = Get-JLReleaseYear -WebRequest $webRequest
+ Runtime = Get-JLRuntime -WebRequest $webRequest
+ Director = Get-JLDirector -WebRequest $webRequest
+ Maker = Get-JLMaker -WebRequest $webRequest
+ Label = Get-JLLabel -WebRequest $webRequest
+ Rating = Get-JLRating -WebRequest $webRequest
+ Actress = Get-JLActress -WebRequest $webRequest
+ Genre = Get-JLGenre -WebRequest $webRequest
+ CoverUrl = Get-JLCoverUrl -WebRequest $webRequest
+ ScreenshotUrl = Get-JLScreenshotUrl -WebRequest $webRequest
}
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] JAVLibrary data object:"
- $movieDataObject | Format-List | Out-String | Write-Debug
+ Write-JLog -Level Debug -Message "JAVLibrary data object: $($movieDataObject | ConvertTo-Json -Depth 32 -Compress)"
Write-Output $movieDataObject
}
-
- end {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Function ended"
- }
}
-
function Get-JLId {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -88,6 +52,7 @@ function Get-JLId {
function Get-JLAjaxId {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -103,9 +68,9 @@ function Get-JLAjaxId {
}
}
-# TODO: Add specific functionality to match video IDs containing trailing alpha characters (e.g. IBW-123z)
function Get-JLTitle {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
process {
@@ -118,6 +83,7 @@ function Get-JLTitle {
function Get-JLReleaseDate {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -129,6 +95,7 @@ function Get-JLReleaseDate {
function Get-JLReleaseYear {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -141,6 +108,7 @@ function Get-JLReleaseYear {
function Get-JLRuntime {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -152,6 +120,7 @@ function Get-JLRuntime {
function Get-JLDirector {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -169,6 +138,7 @@ function Get-JLDirector {
function Get-JLMaker {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -181,6 +151,7 @@ function Get-JLMaker {
function Get-JLLabel {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -193,6 +164,7 @@ function Get-JLLabel {
function Get-JLRating {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
@@ -205,14 +177,12 @@ function Get-JLRating {
function Get-JLGenre {
param (
+ [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[object]$WebRequest
)
- begin {
- $genre = @()
- }
-
process {
+ $genre = @()
$genreHtml = ($WebRequest.Content -split '
')[0] -split '>')[1]
$series = Convert-HtmlCharacter -String $series
- $series = $series -replace '\n', ' '
+ $series = $series -replace '\n', ' ' -replace "`t", ''
$lang = ((($Webrequest.Content -split '\n')[1] -split '"')[1] -split '"')[0]
$seriesUrl = ($WebRequest.links.href | Where-Object { $_ -like '*type=series*' }[0]) + '?lg=' + $lang
if ($series -like '*...') {
- Write-Debug "[$(Get-TimeStamp)][$($MyInvocation.MyCommand.Name)] Performing GET on Uri [$seriesUrl]"
- $seriesSearch = Invoke-WebRequest -Uri $seriesUrl -Method Get -Verbose:$false
- $series = Convert-HtmlCharacter -String ((((($seriesSearch.Content -split '