Configuration Management

Crunchyroll Downloader — Configuration Management
Crunchyroll Downloader — Practical Scripting
Course 1 · Chapter 2 · Configuration Management

⚙️ Configuration Management

Learn to load and manage Crunchyroll credentials securely, validate configuration, and handle sensitive data properly. This is critical for keeping your login information safe while building reusable code.

🔒 Building a Secure Config Class

import os from pathlib import Path from dotenv import load_dotenv ENV_FILE = Path(__file__).parent / ".env" load_dotenv(ENV_FILE) class Config: """Crunchyroll configuration.""" def __init__(self): self.email = os.environ.get('CRUNCHYROLL_EMAIL') self.password = os.environ.get('CRUNCHYROLL_PASSWORD') self.api_base = os.environ.get('API_BASE_URL', 'https://api.crunchyroll.com') self.token_cache = os.environ.get('TOKEN_CACHE_FILE', 'token_cache.json') def validate(self) -> bool: """Validate configuration.""" if not self.email or not self.password: print("❌ Missing email or password in .env") return False if '@' not in self.email: print("❌ Invalid email format") return False return True

💻 Coding Challenges

Challenge 1: Config Class

Create config.py with Config class that loads and stores credentials.

Challenge 2: Validation

Extend Config to validate email format and required fields.

Challenge 3: Error Handling

Add error handling for missing .env file and type conversion errors.