{"generated_at":"2026-06-17T03:32:38.693563","law_review":{"access_status":"unknown","base_url":null,"canonical_name":"University of Louisville Law Review","error_details":"No activity for 999 days","failure_reason":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (historic domain parked; UofL ThinkIR does not expose a Law Review publication collection).","health_status":"NO_OPEN_ACCESS","id":252,"last_attempt_date":"2026-03-23T08:01:56+00:00","last_performance_check":"2025-07-09 03:08:43.110270","last_success_date":"2026-03-23T08:01:56+00:00","last_updated":null,"name":"University of Louisville Law Review","performance_category":"zero","rank":252,"scraper_name":"louisville_scraper.py","scraper_status":"broken_scraper","total_downloads":282,"total_size_gb":0.0},"law_review_id":252,"runs":[{"duplicates_skipped":0,"duration_seconds":0.007950514554977417,"error_category":"no_items_reason","error_message":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (historic domain parked; UofL ThinkIR does not expose a Law Review publication collection).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","child_pid":643051,"file_path":"scrapers/louisville_scraper.py","heartbeat_at":"2026-03-23T08:01:56+00:00","heartbeat_source":"orchestrator","law_review_id":252,"orchestrator":"lrscraper","orchestrator_started_at":"2026-03-23T08:01:50+00:00","scraper_id":"UniversityOfLouisvilleLawReviewScraper","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"child_pid\": 643051, \"file_path\": \"scrapers/louisville_scraper.py\", \"heartbeat_at\": \"2026-03-23T08:01:56+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 252, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-03-23T08:01:50+00:00\", \"scraper_id\": \"UniversityOfLouisvilleLawReviewScraper\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":3451,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-03-23T08:01:56+00:00","run_start":"2026-03-23T08:01:50+00:00","scraper_name":"UniversityOfLouisvilleLawReviewScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/3451/logs/stderr","stdout_log_url":"/api/scraper-runs/3451/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.007608880987390876,"error_category":"no_items_reason","error_message":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (historic domain parked; UofL ThinkIR does not expose a Law Review publication collection).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review"},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\"}","id":2519,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-21T05:07:49+00:00","run_start":"2026-02-21T05:07:49+00:00","scraper_name":"UniversityOfLouisvilleLawReviewScraper","status":"no_items"},{"duplicates_skipped":0,"duration_seconds":3.890134394168854e-06,"error_category":"no_open_access","error_message":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (domain parked; ThinkIR does not expose a Law Review publication collection).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","child_pid":3424584,"file_path":"scrapers/louisville_scraper.py","heartbeat_at":"2026-02-20T21:36:54+00:00","heartbeat_source":"orchestrator","law_review_id":252,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-20T21:36:54+00:00","reason":"no_oa_archive","scraper_id":"louisville_scraper","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/orchestrator_runs/1771623414_louisville_scraper.err.log","stdout_path":"logs/orchestrator_runs/1771623414_louisville_scraper.out.log","timeout_minutes":3},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"child_pid\": 3424584, \"file_path\": \"scrapers/louisville_scraper.py\", \"heartbeat_at\": \"2026-02-20T21:36:54+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 252, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-20T21:36:54+00:00\", \"reason\": \"no_oa_archive\", \"scraper_id\": \"louisville_scraper\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1771623414_louisville_scraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1771623414_louisville_scraper.out.log\", \"timeout_minutes\": 3}","id":2497,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-20T21:36:54+00:00","run_start":"2026-02-20T21:36:54+00:00","scraper_name":"louisville_scraper","status":"no_open_access","stderr_log_url":"/api/scraper-runs/2497/logs/stderr","stdout_log_url":"/api/scraper-runs/2497/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":2.989894710481167e-06,"error_category":"no_open_access","error_message":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (domain parked; ThinkIR does not expose a Law Review publication collection).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","child_pid":3340358,"file_path":"scrapers/louisville_scraper.py","heartbeat_at":"2026-02-11T05:48:35+00:00","heartbeat_source":"orchestrator","law_review_id":252,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-11T05:48:35+00:00","reason":"no_oa_archive","scraper_id":"louisville_scraper","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/orchestrator_runs/1770788915_louisville_scraper.err.log","stdout_path":"logs/orchestrator_runs/1770788915_louisville_scraper.out.log","timeout_minutes":4},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"child_pid\": 3340358, \"file_path\": \"scrapers/louisville_scraper.py\", \"heartbeat_at\": \"2026-02-11T05:48:35+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 252, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-11T05:48:35+00:00\", \"reason\": \"no_oa_archive\", \"scraper_id\": \"louisville_scraper\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770788915_louisville_scraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770788915_louisville_scraper.out.log\", \"timeout_minutes\": 4}","id":2214,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-11T05:48:35+00:00","run_start":"2026-02-11T05:48:35+00:00","scraper_name":"louisville_scraper","status":"no_open_access","stderr_log_url":"/api/scraper-runs/2214/logs/stderr","stdout_log_url":"/api/scraper-runs/2214/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":3.6800047382712364e-06,"error_category":"no_open_access","error_message":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (domain parked; ThinkIR does not expose a Law Review publication collection).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","file_path":"scrapers/louisville_scraper.py","orchestrator":"dashboard","orchestrator_started_at":"2026-02-10T18:30:49.725794","reason":"no_oa_archive","scraper_file":"louisville_scraper.py","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/dashboard_runs/1770748249_louisville_scraper.err.log","stdout_path":"logs/dashboard_runs/1770748249_louisville_scraper.out.log"},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"file_path\": \"scrapers/louisville_scraper.py\", \"orchestrator\": \"dashboard\", \"orchestrator_started_at\": \"2026-02-10T18:30:49.725794\", \"reason\": \"no_oa_archive\", \"scraper_file\": \"louisville_scraper.py\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/dashboard_runs/1770748249_louisville_scraper.err.log\", \"stdout_path\": \"logs/dashboard_runs/1770748249_louisville_scraper.out.log\"}","id":1992,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-10T18:30:49+00:00","run_start":"2026-02-10T18:30:49+00:00","scraper_name":"louisville_scraper","status":"no_open_access","stderr_log_url":"/api/scraper-runs/1992/logs/stderr","stdout_log_url":"/api/scraper-runs/1992/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.02333692996762693,"error_category":"process_exit_1","error_message":"Process exited with code 1","error_traceback":"Traceback (most recent call last):\n  File \"/home/arbel/sites/lrscraper/scrapers/louisville_scraper.py\", line 21, in <module>\n    from lrscraper import run_tracking\nModuleNotFoundError: No module named 'lrscraper'","errors":1,"extra":{"canonical_name":"University of Louisville Law Review","file_path":"scrapers/louisville_scraper.py","orchestrator":"dashboard","orchestrator_started_at":"2026-02-10T18:30:28.982006","returncode":1,"scraper_file":"louisville_scraper.py","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/dashboard_runs/1770748228_louisville_scraper.err.log","stdout_path":"logs/dashboard_runs/1770748228_louisville_scraper.out.log"},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"file_path\": \"scrapers/louisville_scraper.py\", \"orchestrator\": \"dashboard\", \"orchestrator_started_at\": \"2026-02-10T18:30:28.982006\", \"returncode\": 1, \"scraper_file\": \"louisville_scraper.py\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/dashboard_runs/1770748228_louisville_scraper.err.log\", \"stdout_path\": \"logs/dashboard_runs/1770748228_louisville_scraper.out.log\"}","id":1991,"items_discovered":null,"items_processed":null,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-10T18:30:29+00:00","run_start":"2026-02-10T18:30:28+00:00","scraper_name":"louisville_scraper","status":"failed","stderr_log_url":"/api/scraper-runs/1991/logs/stderr","stdout_log_url":"/api/scraper-runs/1991/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":182.7665668260306,"error_category":"process_exit_-15","error_message":"Process exited with code -15","error_traceback":"[University of Louisville Law Review] No PDF link found on landing page: https://ir.library.louisville.edu/jri/vol1/iss1/7","errors":1,"extra":{"canonical_name":"University of Louisville Law Review","file_path":"scrapers/louisville_scraper.py","orchestrator":"dashboard","orchestrator_started_at":"2026-02-10T18:22:20.924903","returncode":-15,"scraper_file":"louisville_scraper.py","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/dashboard_runs/1770747740_louisville_scraper.err.log","stdout_path":"logs/dashboard_runs/1770747740_louisville_scraper.out.log"},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"file_path\": \"scrapers/louisville_scraper.py\", \"orchestrator\": \"dashboard\", \"orchestrator_started_at\": \"2026-02-10T18:22:20.924903\", \"returncode\": -15, \"scraper_file\": \"louisville_scraper.py\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/dashboard_runs/1770747740_louisville_scraper.err.log\", \"stdout_path\": \"logs/dashboard_runs/1770747740_louisville_scraper.out.log\"}","id":1990,"items_discovered":null,"items_processed":null,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-10T18:25:23+00:00","run_start":"2026-02-10T18:22:20+00:00","scraper_name":"louisville_scraper","status":"failed","stderr_log_url":"/api/scraper-runs/1990/logs/stderr","stdout_log_url":"/api/scraper-runs/1990/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":2.7414673150051385,"error_category":"no_items_reason","error_message":"No issue URLs found on main journal page and RSS fallback empty: https://ir.library.louisville.edu/ulr/","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","file_path":"scrapers/louisville_scraper.py","orchestrator":"dashboard","orchestrator_started_at":"2026-02-10T18:13:07.507844","scraper_file":"louisville_scraper.py","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/dashboard_runs/1770747187_louisville_scraper.err.log","stdout_path":"logs/dashboard_runs/1770747187_louisville_scraper.out.log"},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"file_path\": \"scrapers/louisville_scraper.py\", \"orchestrator\": \"dashboard\", \"orchestrator_started_at\": \"2026-02-10T18:13:07.507844\", \"scraper_file\": \"louisville_scraper.py\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/dashboard_runs/1770747187_louisville_scraper.err.log\", \"stdout_path\": \"logs/dashboard_runs/1770747187_louisville_scraper.out.log\"}","id":1984,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-10T18:13:10+00:00","run_start":"2026-02-10T18:13:07+00:00","scraper_name":"louisville_scraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1984/logs/stderr","stdout_log_url":"/api/scraper-runs/1984/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":3.6299461498856544e-06,"error_category":"no_open_access","error_message":"No open-access PDF archive found (domain appears parked / no journal content).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","file_path":"scrapers/louisville_scraper.py","orchestrator":"dashboard","orchestrator_started_at":"2026-02-10T17:41:47.792655","reason":"domain_parked","scraper_file":"louisville_scraper.py","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/dashboard_runs/1770745307_louisville_scraper.err.log","stdout_path":"logs/dashboard_runs/1770745307_louisville_scraper.out.log"},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"file_path\": \"scrapers/louisville_scraper.py\", \"orchestrator\": \"dashboard\", \"orchestrator_started_at\": \"2026-02-10T17:41:47.792655\", \"reason\": \"domain_parked\", \"scraper_file\": \"louisville_scraper.py\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/dashboard_runs/1770745307_louisville_scraper.err.log\", \"stdout_path\": \"logs/dashboard_runs/1770745307_louisville_scraper.out.log\"}","id":1979,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-10T17:41:47+00:00","run_start":"2026-02-10T17:41:47+00:00","scraper_name":"louisville_scraper","status":"no_open_access","stderr_log_url":"/api/scraper-runs/1979/logs/stderr","stdout_log_url":"/api/scraper-runs/1979/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":3.4500262700021267e-06,"error_category":"no_open_access","error_message":"No open-access PDF archive found (domain appears parked / no journal content).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","child_pid":301607,"file_path":"scrapers/louisville_scraper.py","heartbeat_at":"2026-02-06T22:35:18+00:00","heartbeat_source":"orchestrator","law_review_id":252,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-06T22:35:18+00:00","reason":"domain_parked","scraper_id":"louisville_scraper","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/orchestrator_runs/1770417318_louisville_scraper.err.log","stdout_path":"logs/orchestrator_runs/1770417318_louisville_scraper.out.log","timeout_minutes":2},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"child_pid\": 301607, \"file_path\": \"scrapers/louisville_scraper.py\", \"heartbeat_at\": \"2026-02-06T22:35:18+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 252, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-06T22:35:18+00:00\", \"reason\": \"domain_parked\", \"scraper_id\": \"louisville_scraper\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770417318_louisville_scraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770417318_louisville_scraper.out.log\", \"timeout_minutes\": 2}","id":1062,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-06T22:35:18+00:00","run_start":"2026-02-06T22:35:18+00:00","scraper_name":"louisville_scraper","status":"no_open_access","stderr_log_url":"/api/scraper-runs/1062/logs/stderr","stdout_log_url":"/api/scraper-runs/1062/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.03666190500371158,"error_category":"process_exit_1","error_message":"Process exited with code 1","error_traceback":"Traceback (most recent call last):\n  File \"/home/arbel/sites/lrscraper/scrapers/louisville_scraper.py\", line 15, in <module>\n    from lrscraper import run_tracking\nModuleNotFoundError: No module named 'lrscraper'","errors":1,"extra":{"canonical_name":"University of Louisville Law Review","child_pid":293827,"file_path":"scrapers/louisville_scraper.py","heartbeat_at":"2026-02-06T22:30:56+00:00","heartbeat_source":"orchestrator","law_review_id":252,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-06T22:30:56+00:00","returncode":1,"scraper_id":"louisville_scraper","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/orchestrator_runs/1770417056_louisville_scraper.err.log","stdout_path":"logs/orchestrator_runs/1770417056_louisville_scraper.out.log","timeout_minutes":12},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"child_pid\": 293827, \"file_path\": \"scrapers/louisville_scraper.py\", \"heartbeat_at\": \"2026-02-06T22:30:56+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 252, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-06T22:30:56+00:00\", \"returncode\": 1, \"scraper_id\": \"louisville_scraper\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770417056_louisville_scraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770417056_louisville_scraper.out.log\", \"timeout_minutes\": 12}","id":1053,"items_discovered":null,"items_processed":null,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-06T22:30:56+00:00","run_start":"2026-02-06T22:30:56+00:00","scraper_name":"louisville_scraper","status":"failed","stderr_log_url":"/api/scraper-runs/1053/logs/stderr","stdout_log_url":"/api/scraper-runs/1053/logs/stdout"}],"runs_by_scraper_id":[{"duplicates_skipped":0,"duration_seconds":0.007950514554977417,"error_category":"no_items_reason","error_message":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (historic domain parked; UofL ThinkIR does not expose a Law Review publication collection).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review","child_pid":643051,"file_path":"scrapers/louisville_scraper.py","heartbeat_at":"2026-03-23T08:01:56+00:00","heartbeat_source":"orchestrator","law_review_id":252,"orchestrator":"lrscraper","orchestrator_started_at":"2026-03-23T08:01:50+00:00","scraper_id":"UniversityOfLouisvilleLawReviewScraper","script_path":"scrapers/louisville_scraper.py","stderr_path":"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\", \"child_pid\": 643051, \"file_path\": \"scrapers/louisville_scraper.py\", \"heartbeat_at\": \"2026-03-23T08:01:56+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 252, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-03-23T08:01:50+00:00\", \"scraper_id\": \"UniversityOfLouisvilleLawReviewScraper\", \"script_path\": \"scrapers/louisville_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1774252910_UniversityOfLouisvilleLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":3451,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-03-23T08:01:56+00:00","run_start":"2026-03-23T08:01:50+00:00","scraper_name":"UniversityOfLouisvilleLawReviewScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/3451/logs/stderr","stdout_log_url":"/api/scraper-runs/3451/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.007608880987390876,"error_category":"no_items_reason","error_message":"NO_OPEN_ACCESS: No stable open-access PDF archive found for University of Louisville Law Review (historic domain parked; UofL ThinkIR does not expose a Law Review publication collection).","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Louisville Law Review"},"extra_json":"{\"canonical_name\": \"University of Louisville Law Review\"}","id":2519,"items_discovered":0,"items_processed":0,"law_review_id":252,"pdfs_downloaded":0,"run_end":"2026-02-21T05:07:49+00:00","run_start":"2026-02-21T05:07:49+00:00","scraper_name":"UniversityOfLouisvilleLawReviewScraper","status":"no_items"}],"scraper":{"base_class":"LightBaseScraper","canonical_name":"University of Louisville Law Review","class_name":"UniversityOfLouisvilleLawReviewScraper","discovered_at":"2026-03-30 20:11:12","file_path":"scrapers/louisville_scraper.py","has_cli_entrypoint":1,"institution_code":null,"is_abstract":0,"module_path":"scrapers.louisville_scraper","platform":null,"scraper_id":"UniversityOfLouisvilleLawReviewScraper","updated_at":"2026-06-17 03:32:31"},"uploads":{"last_pending":null,"last_uploaded":null,"latest_registry_sync":null,"pending":0}}
