Upload updates

This commit is contained in:
2026-09-21 09:01:01 -05:00
parent 98025e9e6d
commit 474403ffe2
18 changed files with 2539 additions and 796 deletions
+44
View File
@@ -145,6 +145,11 @@ class TempUploadSerializer(serializers.ModelSerializer):
library_j_id = serializers.SerializerMethodField()
file_url = serializers.SerializerMethodField()
preview_url = serializers.SerializerMethodField()
md5_checked = serializers.SerializerMethodField()
visual_checked = serializers.SerializerMethodField()
iqdb_checked = serializers.SerializerMethodField()
processing = serializers.SerializerMethodField()
similar_count = serializers.SerializerMethodField()
class Meta:
model = TempUpload
@@ -165,6 +170,13 @@ class TempUploadSerializer(serializers.ModelSerializer):
"library_j_id",
"file_url",
"preview_url",
"pipeline_error",
"attempts",
"md5_checked",
"visual_checked",
"iqdb_checked",
"processing",
"similar_count",
"created_at",
"updated_at",
]
@@ -215,6 +227,38 @@ class TempUploadSerializer(serializers.ModelSerializer):
item, user, action, request=self.context.get("request")
)
def get_md5_checked(self, obj):
return obj.e621_checked_at is not None
def get_visual_checked(self, obj):
return obj.visual_checked_at is not None
def get_iqdb_checked(self, obj):
return obj.iqdb_data is not None
def get_processing(self, obj):
return obj.claimed_at is not None
def get_similar_count(self, obj):
return len(obj.iqdb_data or []) + len(obj.visual_matches or [])
class TempUploadListSerializer(TempUploadSerializer):
"""Compact staged-upload row for the board and the status polling.
Drops the heavy post/IQDB payloads (the metadata modal fetches the full
row) while keeping the pipeline flags the board renders per tile.
"""
class Meta(TempUploadSerializer.Meta):
fields = [
field
for field in TempUploadSerializer.Meta.fields
if field
not in {"e621_data", "iqdb_data", "visual_matches", "custom_tags", "custom_notes"}
]
read_only_fields = fields
class DownloadTaskSerializer(serializers.ModelSerializer):
task_id = serializers.UUIDField(source="id", read_only=True)