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.