Eagleget For Linux -
def remove_download(self): selection = self.table_view.selectionModel() if selection.hasSelection(): index = selection.selectedRows()[0] task = self.model.data(index, Qt.UserRole) reply = QMessageBox.question(self, 'Confirm', f'Remove task.filename?', QMessageBox.Yes | QMessageBox.No) if reply == QMessageBox.Yes: self.manager.remove_download(task.id, delete_file=False) self.model.refresh()
def headerData(self, section, orientation, role=Qt.DisplayRole): if orientation == Qt.Horizontal and role == Qt.DisplayRole: return self.headers[section] return None
def resume(self): self.paused = False
import os import json import sqlite3 import threading import hashlib from datetime import datetime from typing import List, Dict, Optional from dataclasses import dataclass, asdict from enum import Enum class DownloadStatus(Enum): PENDING = "pending" DOWNLOADING = "downloading" PAUSED = "paused" COMPLETED = "completed" FAILED = "failed" QUEUED = "queued"
def pause_download(self, task_id: str): if task_id in self.active_downloads: self.active_downloads[task_id].pause() self.tasks[task_id].status = DownloadStatus.PAUSED self.save_task(self.tasks[task_id]) eagleget for linux
def refresh(self): self.layoutChanged.emit() class MainWindow(QMainWindow): def (self): super(). init () self.manager = DownloadManager() self.init_ui() self.timer = QTimer() self.timer.timeout.connect(self.update_progress) self.timer.start(1000)
Project Structure eagleget-linux/ ├── src/ │ ├── __init__.py │ ├── main.py │ ├── download_manager.py │ ├── download_thread.py │ ├── queue_manager.py │ ├── browser_integration.py │ ├── settings.py │ └── utils.py ├── ui/ │ ├── main_window.py │ ├── download_dialog.py │ ├── settings_dialog.py │ └── resources/ ├── tests/ ├── requirements.txt ├── setup.py └── eagleget.desktop Core Download Manager src/download_manager.py def remove_download(self): selection = self
def resume_from_temp(self, temp_filepath: str): with open(temp_filepath, 'rb') as f: f.seek(0, 2) file_size = f.tell() # Update chunk downloaded sizes for chunk in self.chunks: if file_size > chunk.start: chunk.downloaded = min(chunk.end - chunk.start + 1, file_size - chunk.start)

Rescue Mary Jane
Photo Hunt
Sandman
Spider-Man 5
Web Slinger