Base setup
This commit is contained in:
51
crawler/serializers.py
Normal file
51
crawler/serializers.py
Normal file
@@ -0,0 +1,51 @@
|
||||
from rest_framework import serializers
|
||||
from .models import Website, CrawlTask, CrawledContent, CrawlLog, SearchKeyword, MediaFile
|
||||
|
||||
|
||||
class WebsiteSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Website
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class CrawlTaskSerializer(serializers.ModelSerializer):
|
||||
websites = WebsiteSerializer(many=True, read_only=True)
|
||||
progress_percentage = serializers.ReadOnlyField()
|
||||
|
||||
class Meta:
|
||||
model = CrawlTask
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class MediaFileSerializer(serializers.ModelSerializer):
|
||||
file_size_display = serializers.ReadOnlyField()
|
||||
|
||||
class Meta:
|
||||
model = MediaFile
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class CrawledContentSerializer(serializers.ModelSerializer):
|
||||
website_name = serializers.CharField(source='website.name', read_only=True)
|
||||
website_region = serializers.CharField(source='website.region', read_only=True)
|
||||
task_name = serializers.CharField(source='task.name', read_only=True)
|
||||
media_files = MediaFileSerializer(many=True, read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = CrawledContent
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class CrawlLogSerializer(serializers.ModelSerializer):
|
||||
website_name = serializers.CharField(source='website.name', read_only=True)
|
||||
task_name = serializers.CharField(source='task.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = CrawlLog
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class SearchKeywordSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = SearchKeyword
|
||||
fields = '__all__'
|
||||
Reference in New Issue
Block a user