新しい急流が追加されたときにDeluge Torrentクライアントにダウンロードしたファイルを再確認するスクリプト?

新しい急流が追加されたときにDeluge Torrentクライアントにダウンロードしたファイルを再確認するスクリプト?

私は定期的に更新される急流をダウンロードします。トレントが新しいバージョンのトレントを更新/リリースすると、以前のバージョンのトレントとまったく同じ名前が使用され、以前のバージョンのトレントと同じファイルがすべて含まれ、トレントが次のディレクトリにダウンロードされます。以前のバージョンの急流。

シードの最初のバージョンには、次のファイルを含めることができます。

  • 01.2020.S15.The.Hollis.Hurlbut.Show.Trouble.With.Deluge.1080P.mkv
  • 02.2020.S15.The.Hollis.Hurlbut.Show.Head.Meet.Brick.Wall.1080P.mkv
  • 03.2020.S15.The.Hollis.Hurlbut.Show.Plugin.Problems.1080P.mkv

急流の新しいバージョンがリリースされると、次のものが含まれます。

  • 01.2020.S15.The.Hollis.Hurlbut.Show.Trouble.With.Deluge.1080P.mkv
  • 02.2020.S15.The.Hollis.Hurlbut.Show.Head.Meet.Brick.Wall.1080P.mkv
  • 03.2020.S15.The.Hollis.Hurlbut.Show.Plugin.Problems.1080P.mkv
  • 04.2020.S15.The.Hollis.Hurlbut.Show.Is.It.Lunch.Time.Yet.1080P.mkv
  • 05.2020.S15.The.Hollis.Hurlbut.Show.I.Want.A.Beer.Now.1080P.mkv

ダウンロードのために新しいバージョンの急流が追加されたら、既存のファイルを再ダウンロードします(CoWファイルシステムを使用して帯域幅を無駄にするため、これは望ましくありません)、新しく追加された急流を手動で強制的に再確認すると、Delugeは既存のファイルを検出して新しいダウンロードが再開されると(編集を参照)、新しいデータまたは欠落しているデータのみをダウンロードします。

新しい急流が追加されたら、Delugeに特定の急流が特定の命名スキームと一致するか、特定のLabelPlusタグがあるかどうかを再確認する方法はありますか?それとも、bashスクリプトがオプション/より良いソリューションですか?

[編集]急流を追加してもう一度確認しようとしましたが、既存のダウンロードの特定のパスに急流を手動で追加すると自動的に再確認されることがわかりました...問題は私の設定にあり、問題の急流はYaRSS2プラグインを介して発生しますします。自動的に追加してタグを付けて移動し、LabelPlusプラグインを介してダウンロードディレクトリを設定します。これにより、各イベントのラベルとダウンロードディレクトリ(/genre/year/event/event_name)を設定できます。

したがって、現在の設定の問題は、YaRRS2が新しい急流を追加すると、デフォルトのダウンロードディレクトリに追加されることです。その後、LaabelPlusが急流を移動しても再確認はトリガされません。悪いことに再検査が行われなかったため、新しいバージョンの急流は既存のファイルを上書きし始め、手動再検査が失敗することを意味します。

ベストアンサー1

私は3つの要素を使って私の質問に答えました。 Delugeに組み込まれた「実行」プラグイン「deluge-console」パッケージをインストールし、シェル/コンソールを介してDelugeにコマンドを発行できるようにしました。パズルの最後の部分は私が書いたスクリプトでした。

Delugeは一時停止していない状態で急流を追加するようにグローバルに設定されていますが、一時停止中に問題のある急流を追加するようにYaRSS2フィードを設定しました。したがって、YaRSS2は一時停止中に急流を追加した後、LabelPlusプラグインがそれにタグを付け、急流のダウンロードディレクトリを設定します。同時に、実行プラグインによってトリガーされたスクリプトが実行されます。


    #!/bin/bash

    #variables
    torrentid=$1
    torrentname=$2
    torrentpath=$3
    DATE=$(date +"%Y%m%d_%H%M%S")
        
    if [[ $torrentpath == /media/downloads/foo* ]] ; then 
    
         sleep 5 #sleep so that LabelPlus can do it's stuff
         deluge-console "recheck [ * |  $torrentid [$torrentid ...] ]"
         echo  "$DATE Rechecked: " "$torrentname " "$torrentid " "$torrentpath"  >> /home/deluge/media/execute_script.log
         deluge-console "resume [ * |  $torrentid [$torrentid ...] ]"
    
    else
    
         sleep 5 #sleep so that LabelPlus can do it's stuff
         echo  "$DATE Unchecked: " "$torrentname " "$torrentid " "$torrentpath"  >> /home/deluge/media/execute_script.log
         deluge-console "resume [ * |  $torrentid [$torrentid ...] ]"
    
    fi

ちょうどメモ...

Executeプラグインを有効にしたら、Delugeデーモンを再起動する必要があります!

sleep 5コマンドは、LabelPlusがダウンロードディレクトリを既存のデータがある場所に変更する前または実行中のスクリプト関連の問題を回避するためのものです。

上記のスクリプトを使用している場合は、Delugedを実行しているユーザーにスクリプトを実行してログを作成するために必要な権限があることを確認してください(必要な場合)。

[編集]スクリプトに、パスに基づいて急流の再検査を再確認するかスキップする機能を追加しました。

おすすめ記事