diff --git a/archivebox/api/v1_core.py b/archivebox/api/v1_core.py index 595ec047..2bff6fa4 100644 --- a/archivebox/api/v1_core.py +++ b/archivebox/api/v1_core.py @@ -22,8 +22,9 @@ router = Router(tags=['Core Models']) class ArchiveResultSchema(Schema): abid: str - uuid: UUID - pk: str + id: UUID + # old_id: int + modified: datetime created: datetime created_by_id: str @@ -73,8 +74,7 @@ class ArchiveResultSchema(Schema): class ArchiveResultFilterSchema(FilterSchema): - uuid: Optional[UUID] = Field(None, q='uuid') - # abid: Optional[str] = Field(None, q='abid') + id: Optional[UUID] = Field(None, q='id') search: Optional[str] = Field(None, q=['snapshot__url__icontains', 'snapshot__title__icontains', 'snapshot__tags__name__icontains', 'extractor', 'output__icontains']) snapshot_uuid: Optional[UUID] = Field(None, q='snapshot_uuid__icontains') @@ -104,8 +104,8 @@ def get_archiveresults(request, filters: ArchiveResultFilterSchema = Query(...)) @router.get("/archiveresult/{archiveresult_id}", response=ArchiveResultSchema, url_name="get_archiveresult") def get_archiveresult(request, archiveresult_id: str): - """Get a specific ArchiveResult by abid, uuid, or pk.""" - return ArchiveResult.objects.get(Q(pk__icontains=archiveresult_id) | Q(abid__icontains=archiveresult_id) | Q(uuid__icontains=archiveresult_id)) + """Get a specific ArchiveResult by pk, abid, or old_id.""" + return ArchiveResult.objects.get(Q(pk__icontains=archiveresult_id) | Q(abid__icontains=archiveresult_id) | Q(old_id__icontains=archiveresult_id)) # @router.post("/archiveresult", response=ArchiveResultSchema) diff --git a/archivebox/core/admin.py b/archivebox/core/admin.py index cc773f78..9ee2930c 100644 --- a/archivebox/core/admin.py +++ b/archivebox/core/admin.py @@ -511,7 +511,10 @@ class ArchiveResultAdmin(admin.ModelAdmin): ) def identifiers(self, obj): - return get_abid_info(self, obj) + try: + return get_abid_info(self, obj) + except Exception as e: + return str(e) @admin.display( description='Snapshot Tags' diff --git a/archivebox/core/models.py b/archivebox/core/models.py index 3f496bcc..605cf3e8 100644 --- a/archivebox/core/models.py +++ b/archivebox/core/models.py @@ -347,8 +347,8 @@ class ArchiveResult(ABIDModel): abid_rand_src = 'self.id' EXTRACTOR_CHOICES = EXTRACTOR_CHOICES - old_id = models.BigIntegerField(default=rand_int_id, serialize=False, verbose_name='ID') - id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True, unique=True) + old_id = models.BigIntegerField(default=rand_int_id, serialize=False, verbose_name='Old ID') + id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True, unique=True, verbose_name='ID') abid = ABIDField(prefix=abid_prefix) snapshot = models.ForeignKey(Snapshot, on_delete=models.CASCADE)