Source code for record_shelf.utils

"""
Utility functions for Record Shelf
"""

import logging
import sys
from typing import Any, Dict


[docs] def setup_logging(debug: bool = False) -> None: """Setup logging configuration""" level = logging.DEBUG if debug else logging.INFO logging.basicConfig( level=level, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", handlers=[ logging.StreamHandler(sys.stdout), logging.FileHandler("record_shelf.log"), ], )
[docs] def validate_username(username: str) -> bool: """Validate Discogs username format""" if not username: return False # Basic validation - Discogs usernames can contain letters, numbers, underscores, hyphens import re pattern = r"^[a-zA-Z0-9_-]+$" return bool(re.match(pattern, username))
[docs] def sanitize_filename(filename: str) -> str: """Sanitize filename for cross-platform compatibility""" import re # Remove or replace problematic characters sanitized = re.sub(r'[<>:"/\|?*]', "_", filename) return sanitized.strip()