# TitleInfo_Prepare.ps1でのカスタマイズ内容をここに記述する。

# === 使用できる変数 ===
#
# $result["searchproductcode"] : 検索型番;
# $result["productcode"] : サイトの型番;
# $result["seller"] : メーカー;
# $result["label"] : レーベル;
# $result["title"] : タイトル;
# $result["series"] : シリーズ;
# $result["releasedate"] : 発売日;
# $result["url"] : URL;
# $result["thumburl"] : サムネイルのURL;
# $result["pkgimgurl"] : パッケージ画像のURL;
# $result["fixedstr"] : 固定文字列;
# $result["sitename"] : サイト名称;
# $result["sortscore"] : ソート用数値;
# $result["cast"] : 出演者（stringの配列）;
# $result["genre"] : ジャンル(stringの配列);
# $result["userdef1"] : ユーザ定義1(stringの配列);
# $result["userdef2"] : ユーザ定義2(stringの配列);
# $result["userdef3"] : ユーザ定義3(stringの配列);

 # 改名歴がある場合の動作のデフォルト
 $AlwaysUseNewName = 0

##### dmm.ps1用の設定ファイルを読み込む(存在する場合)
$settings = Join-Path (Split-Path $MyInvocation.MyCommand.Path -parent) "setting.ps1"

if(Test-Path $settings)
{
    . ($settings)
}

# ======== 以下、カスタマイズポイント

# 改名歴がある場合に 常に新しい名前を使用する場合は1
# $AlwaysUseNewName = 1

######## DMM: 改名歴のある出演者への対策

for($i=0;$i -lt $result["cast"].length;$i++)
{
    # 現在の名前を先頭に、過去の名前をすべて配列に列挙する
    $names = @($result["cast"][$i] -replace '(.*)[\(（](.*)[\)）]','$1')
    $names += ($result["cast"][$i] -replace '(.*)[\(（](.*)[\)）]','$2').split("、")

    # 暫定で現在の名前を採用する。タイトルに出演当時の名前がなければ最新の名前が使われる
    $act = $names[0]

    foreach($name in $names)
    {
        # パッケージのタイトルに名前が入っていないか検索してみる。-matchを使うと記号があった場合に誤動作しかねないのでIndexOfを使う
        if($result["title"].IndexOf($name) -ne -1)
        {
            # タイトルに含まれている
            if($AlwaysUseNewName -ne 1)
            {
                # タイトルに出演当時の名前が含まれているならその名前を使用する
                $act = $name
                break
            }
            else
            {
                # 最新の名前を使用するならここでタイトルから削除しておく
                # 前後が空白
                $result["title"] = $result["title"] -replace ('\s'+$name+'\s'),' '
                # 末尾
                $result["title"] = $result["title"] -replace ('\s'+$name+'$'),''
                break
            }
        }
    }

    $result["cast"][$i] = $act;
}

# 総合Wikiの「シリーズ一覧」「別ページ」を除去
$result["cast"] = [string[]]@($result["cast"] | Where-Object { !$_.Equals("シリーズ一覧") -and !$_.Equals("別ページ") })

######## 特定ジャンルの削除

# 完全一致した場合に削除
$GenreRemoval = @("BIGセール","サンプル動画","独占配信","独占レンタル","もっと見る")
# 部分一致した場合に削除
$GenreRemovalPartialMatch = @("オフセール","特典付")

if($result["genre"] -ne $null)
{
    foreach($Genre in $GenreRemoval)
    {
        $result["genre"] = [string[]]@($result["genre"] | Where-Object { !$_.Equals($Genre) })
    }

    foreach($Genre in $GenreRemovalPartialMatch)
    {
        $result["genre"] = [string[]]@($result["genre"] | Where-Object { !$_.Contains($Genre) })
    }
}


######## その他なにかあればここに記述








