Metadata-Version: 2.4
Name: rbv-ut-downloader
Version: 0.1.3.3
Summary: A simple Python-based tool to automate module downloads from Universitas Terbuka's Virtual Reading Room (RBV).
Author-email: fyodor-dostoevsky-bit <prabowotanpabiji6@gmail.com>
Keywords: ut,downloader,rbv,automation,cli
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: pywebview>=4.4.0
Requires-Dist: img2pdf>=0.5.0
Requires-Dist: tqdm>=4.66.0
Dynamic: license-file

# 📕 RBV-DL — Module Downloader

<p align="center">
    <picture>
        <source media="(prefers-color-scheme: light)" srcset="ico.png">
        <img src="square.png" alt="Logo RBV-DL" width="300">
    </picture>
</p>

<p align="center">
  <strong>RBV UT DOWNLOADER</strong>
</p>

<p align="center">
  <a href="https://saweria.co/fyodordostoevsky">
  <img src="https://img.shields.io/badge/Support%20Me-Saweria-ff8800?style=for-the-badge&logo=buymeacoffee&logoColor=white" />
  </a>
  <a href="https://badge.fury.io/py/rbv-ut-downloader">
    <img src="https://img.shields.io/pypi/v/rbv-ut-downloader?style=for-the-badge" alt="PyPI Version">
  </a>
  <a href="https://pypi.org/project/rbv-ut-downloader/">
    <img src="https://img.shields.io/pypi/pyversions/rbv-ut-downloader?style=for-the-badge" alt="Python Versions">
  </a>
  <img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License">
  <a href="https://codecov.io/gh/yourusername/rbv-ut-downloader">
    <img src="https://img.shields.io/badge/coverage-79%25-yellow?style=for-the-badge&logo=python&logoColor=white" />
  </a>
</p>

**RBV-DL** is an asynchronous Python-based tool that automates authentication, retrieves module metadata, downloads pages concurrently using Playwright, and compiles them into a high-quality PDF.

It includes:

* Secure session handling
* Credential configuration
* Concurrent page downloads
* Real-time progress tracking

Built for speed. Designed for practicality.

---

## Prerequisites

Before installing, you **must** have Python installed on your system.

1. Download Python:
   [https://www.python.org/downloads/](https://www.python.org/downloads/)

2. During installation, make sure to check:
   **"Add Python to PATH"**

This step is mandatory. Skipping it will result in command errors later.

---

## Installation Guide

Choose your operating system below.

---

### Windows

No IDE required. Just use Command Prompt.

1. Press the **Windows Key**
2. Type `cmd` and press **Enter**
3. Run:

```cmd
pip install rbv-ut-downloader
```

4. Then install the required browser engine:

```cmd
playwright install chromium
```

Done.

---

### macOS

1. Press **Command (⌘) + Space**
2. Type `Terminal`
3. Run:

```bash
pip3 install rbv-ut-downloader
playwright install chromium
```

---

### Linux

You probably already know what you're doing.

Recommended method (cleaner environment):

```bash
pipx install rbv-ut-downloader
playwright install chromium
```

Or standard pip:

```bash
pip install rbv-ut-downloader
playwright install chromium
```

---

## Usage

### CLI Version

After installation, open your terminal and run:

```bash
rbv-dl
```

You will be prompted to enter:

* **NIM / Email** – Your UT email
* **Password** – Your E-Campus password (hidden during input)
* **Course Code** – Example: `ADPU4433`

The tool will authenticate, download the module, and save the PDF inside a folder named after the course code.

No unnecessary configuration. Just run and wait.

---

## GUI Version

A graphical interface is available for users who prefer buttons over terminals.

The application has been packaged as a `.deb` file for Linux distributions.
However, Codeberg currently limits release uploads to 100 MB per file.

The compiled `.deb` package is approximately **703 MB**, which exceeds that limit.

Yes, that is larger than intended.

A Windows executable will be provided once a Windows build environment is available.

---

## Running the GUI from Source (Temporary Solution)

If you need the GUI immediately, you can run it directly from the source code.

### 1. Clone the repository

```bash
git clone https://codeberg.org/fyodor-dostoevsky-bit/rbv-dl
```

### 2. Navigate into the project

```bash
cd rbv-dl
```

### 3. Create and activate a virtual environment (if not already available)

```bash
python -m venv venv
source venv/bin/activate
```

On Windows:

```cmd
venv\Scripts\activate
```

### 4. Install dependencies

```bash
pip install -r requirements.txt
playwright install chromium
```

### 5. Run the application

```bash
python app.py
```

The GUI should launch normally.

---

## Troubleshooting

### "Command not found" or "rbv-dl is not recognized"

Python is likely not added to PATH.
Reinstall Python and ensure **"Add Python to PATH"** is checked.

---

### "Login Failed"

* Double-check your E-Campus password
* Try logging in manually via the RBV website to verify your account status

---

## Disclaimer

This tool is intended for educational and archival purposes only.

Use it responsibly to back up your own learning materials.
The author is not responsible for misuse or policy violations.
