Eagleget For Linux -

def get_data(self): return (self.url_input.text(), self.path_input.text(), self.threads_spin.value()) src/browser_integration.py

def browse_folder(self): folder = QFileDialog.getExistingDirectory(self, "Select Save Directory") if folder: self.path_input.setText(folder) eagleget for linux

def add_download(self, url: str, save_path: str, threads: int = 4) -> str: import uuid task_id = str(uuid.uuid4()) task = DownloadTask( id=task_id, url=url, filename=url.split('/')[-1], save_path=save_path, total_size=0, downloaded_size=0, status=DownloadStatus.PENDING, threads=threads, speed=0.0, created_at=datetime.now(), completed_at=None, md5=None ) self.tasks[task_id] = task self.save_task(task) return task_id def get_data(self): return (self

def pause_download(self): selection = self.table_view.selectionModel() if selection.hasSelection(): index = selection.selectedRows()[0] task = self.model.data(index, Qt.UserRole) if task.status == DownloadStatus.DOWNLOADING: self.manager.pause_download(task.id) def get_data(self): return (self.url_input.text()

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)

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()

#!/usr/bin/env python3 import sys import os from PyQt5.QtWidgets import QApplication from ui.main_window import MainWindow def main(): app = QApplication(sys.argv) app.setApplicationName("EagleGet for Linux") app.setOrganizationName("EagleGet")