Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Trigger:"新規ファイル生成時"
- //
- // DL完了時に同一パッケージ内に同じファイル名(拡張子を含まない)で
- // 未完了のリンクがあれば無効化する
- // 完了したパッケージがあれば一番下にする
- //
- // ※ 圧縮形式違いのファイルなどファイル拡張子が違えばミラーとして認識されず
- // パッケージの進捗状況が100%にならないため
- //
- function getFileName(f) // Or FolderName
- {
- var r = f.match(/([^\\\/\:]*)[\\\/]*$/);
- return r ? r[1] : '';
- }
- function getFileSpec(f)
- {
- var x = getFileName(f);
- var r = x.match(/^([^\\\/\:]*?)(\.[0-9a-zA-Z]{2,6})?$/);
- return r ? r[1] : '';
- }
- function check_mirror(fl)
- {
- var ps = [];
- var all_l = getAllDownloadLinks();
- fl.forEach(function (path)
- {
- var fs = getFileSpec(path);
- all_l.some(function (l)
- {
- if (l.getDownloadPath() == path)
- {
- var p = l.getPackage();
- p.getDownloadLinks().forEach(function (p_l)
- {
- // 拡張子抜きのファイル名が一致して未完了だったら無効化する
- if (fs == getFileSpec(p_l.getName()) && ! p_l.isFinished())
- p_l.setEnabled(false);
- });
- if (p.isFinished()) ps.push(p.getUUID());
- return true;
- }
- });
- });
- // 完了したパッケージがあれば一番下へ移動 (一番上へ移動ならcallAPIの最後の引数を-1にする)
- if (0 < ps.length)
- callAPI('downloadsV2', 'movePackages', ps, all_l[all_l.length-1].getPackage().getUUID());
- }
- check_mirror(files);
Advertisement
Add Comment
Please, Sign In to add comment