From 4f081bfd97fb12165dc669a8264760f20be44333 Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Tue, 30 Sep 2025 20:24:07 -0700 Subject: [PATCH] Update beatport_unified_scraper.py --- beatport_unified_scraper.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/beatport_unified_scraper.py b/beatport_unified_scraper.py index de08428a..01204489 100644 --- a/beatport_unified_scraper.py +++ b/beatport_unified_scraper.py @@ -891,18 +891,27 @@ class BeatportUnifiedScraper: print(f" ❌ Error extracting tracks from {release_url}: {e}") return [] - def scrape_multiple_releases(self, release_urls: List[str], source_name: str = "General Release Scraper") -> List[Dict]: + def scrape_multiple_releases(self, release_urls, source_name: str = "General Release Scraper") -> List[Dict]: """ - General scraper function - takes list of release URLs and extracts all tracks + General scraper function - takes single release URL or list of release URLs and extracts all tracks Args: - release_urls: List of Beatport release URLs to scrape + release_urls: Single Beatport release URL (str) or list of URLs (List[str]) to scrape source_name: Name to use as source identifier for tracks Returns: List of track dictionaries with title, artist, label, etc. """ - print(f"\n🎯 SCRAPING {len(release_urls)} RELEASE URLs") + # Handle single URL input - convert to list + if isinstance(release_urls, str): + release_urls = [release_urls] + + # Validate input + if not release_urls or len(release_urls) == 0: + print("⚠️ No release URLs provided") + return [] + + print(f"\n🎯 SCRAPING {len(release_urls)} RELEASE URL{'S' if len(release_urls) > 1 else ''}") print("=" * 60) all_tracks = []