"""Import/Export resources for scraper models.""" from import_export import resources, fields from import_export.widgets import ForeignKeyWidget from core.models import Sport from .models import ScraperConfig, ScrapeJob, ManualReviewItem class ScraperConfigResource(resources.ModelResource): sport = fields.Field( column_name='sport', attribute='sport', widget=ForeignKeyWidget(Sport, 'code') ) class Meta: model = ScraperConfig import_id_fields = ['sport', 'season'] fields = [ 'sport', 'season', 'is_active', 'is_enabled', 'scrape_interval_hours', 'primary_source', ] export_order = fields class ScrapeJobResource(resources.ModelResource): sport = fields.Field(attribute='config__sport__code', readonly=True) season = fields.Field(attribute='config__season', readonly=True) class Meta: model = ScrapeJob fields = [ 'id', 'sport', 'season', 'status', 'games_found', 'games_new', 'games_updated', 'games_unchanged', 'started_at', 'finished_at', 'errors', 'created_at', ] export_order = fields class ManualReviewItemResource(resources.ModelResource): sport = fields.Field( column_name='sport', attribute='sport', widget=ForeignKeyWidget(Sport, 'code') ) class Meta: model = ManualReviewItem import_id_fields = ['id'] fields = [ 'id', 'sport', 'item_type', 'raw_value', 'matched_value', 'status', 'confidence', 'reason', 'source_url', 'check_date', 'created_at', ] export_order = fields