diff --git a/package.json b/package.json index 8f6612fe..402d45cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydralauncher", - "version": "3.1.0", + "version": "3.1.1", "description": "Hydra", "main": "./out/main/index.js", "author": "Los Broxas", diff --git a/python_rpc/main.py b/python_rpc/main.py index 36c0a922..c1f410d1 100644 --- a/python_rpc/main.py +++ b/python_rpc/main.py @@ -36,7 +36,7 @@ if start_download_payload: if start_seeding_payload: initial_seeding = json.loads(urllib.parse.unquote(start_seeding_payload)) for seed in initial_seeding: - torrent_downloader = TorrentDownloader(torrent_session) + torrent_downloader = TorrentDownloader(torrent_session, lt.torrent_flags.upload_mode) downloads[seed['game_id']] = torrent_downloader torrent_downloader.start_download(seed['url'], seed['save_path'], "") @@ -156,7 +156,7 @@ def action(): if downloader: downloader.cancel_download() elif action == 'resume_seeding': - torrent_downloader = TorrentDownloader(torrent_session) + torrent_downloader = TorrentDownloader(torrent_session, lt.torrent_flags.upload_mode) downloads[game_id] = torrent_downloader torrent_downloader.start_download(data['url'], data['save_path'], "") elif action == 'pause_seeding': diff --git a/python_rpc/torrent_downloader.py b/python_rpc/torrent_downloader.py index 46ee4e33..ca4c2fa8 100644 --- a/python_rpc/torrent_downloader.py +++ b/python_rpc/torrent_downloader.py @@ -1,9 +1,10 @@ import libtorrent as lt class TorrentDownloader: - def __init__(self, torrent_session): + def __init__(self, torrent_session, flags = lt.torrent_flags.auto_managed): self.torrent_handle = None self.session = torrent_session + self.flags = flags self.trackers = [ "udp://tracker.opentrackr.org:1337/announce", "http://tracker.opentrackr.org:1337/announce", @@ -102,9 +103,8 @@ class TorrentDownloader: ] def start_download(self, magnet: str, save_path: str, header: str): - params = {'url': magnet, 'save_path': save_path, 'trackers': self.trackers} + params = {'url': magnet, 'save_path': save_path, 'trackers': self.trackers, 'flags': self.flags} self.torrent_handle = self.session.add_torrent(params) - self.torrent_handle.set_flags(lt.torrent_flags.auto_managed) self.torrent_handle.resume() def pause_download(self): diff --git a/src/main/events/torrenting/resume-game-seed.ts b/src/main/events/torrenting/resume-game-seed.ts index 6310f5b8..9f79e53a 100644 --- a/src/main/events/torrenting/resume-game-seed.ts +++ b/src/main/events/torrenting/resume-game-seed.ts @@ -1,6 +1,7 @@ import { registerEvent } from "../register-event"; import { gameRepository } from "../../repository"; import { DownloadManager } from "@main/services"; +import { Downloader } from "@shared"; const resumeGameSeed = async ( _event: Electron.IpcMainInvokeEvent, @@ -10,7 +11,7 @@ const resumeGameSeed = async ( where: { id: gameId, isDeleted: false, - downloader: 1, + downloader: Downloader.Torrent, progress: 1, }, }); diff --git a/src/main/main.ts b/src/main/main.ts index 5522becb..9e00ff6a 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -9,6 +9,7 @@ import { RealDebridClient } from "./services/download/real-debrid"; import { HydraApi } from "./services/hydra-api"; import { uploadGamesBatch } from "./services/library-sync"; import { Aria2 } from "./services/aria2"; +import { Downloader } from "@shared"; const loadState = async (userPreferences: UserPreferences | null) => { import("./events"); @@ -37,7 +38,7 @@ const loadState = async (userPreferences: UserPreferences | null) => { const seedList = await gameRepository.find({ where: { shouldSeed: true, - downloader: 1, + downloader: Downloader.Torrent, progress: 1, }, }); diff --git a/src/main/services/download/download-manager.ts b/src/main/services/download/download-manager.ts index 29b117fd..80a3f6fb 100644 --- a/src/main/services/download/download-manager.ts +++ b/src/main/services/download/download-manager.ts @@ -100,8 +100,6 @@ export class DownloadManager { public static async watchDownloads() { const status = await this.getDownloadStatus(); - // status = await RealDebridDownloader.getStatus(); - if (status) { const { gameId, progress } = status; const game = await gameRepository.findOne({