Skip to content

Commit 14fd57a

Browse files
committed
Use new asset_validation_errors endpoint
1 parent 0fe497d commit 14fd57a

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

dandi/dandiapi.py

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,29 @@
1212

1313
from __future__ import annotations
1414

15+
import json
16+
import os.path
17+
import posixpath
18+
import re
1519
from abc import ABC, abstractmethod
1620
from collections.abc import Callable, Iterable, Iterator, Sequence
1721
from concurrent.futures import ThreadPoolExecutor
1822
from dataclasses import dataclass
1923
from datetime import datetime
2024
from enum import Enum
2125
from fnmatch import fnmatchcase
22-
import json
23-
import os.path
2426
from pathlib import Path, PurePosixPath
25-
import posixpath
26-
import re
2727
from time import sleep, time
2828
from types import TracebackType
2929
from typing import TYPE_CHECKING, Any, Dict, List, Optional
3030

3131
import click
32-
from dandischema import models
3332
import dandischema.consts
34-
from packaging.version import Version as PackagingVersion
35-
from pydantic import BaseModel, Field, PrivateAttr
3633
import requests
3734
import tenacity
35+
from dandischema import models
36+
from packaging.version import Version as PackagingVersion
37+
from pydantic import BaseModel, Field, PrivateAttr
3838
from yarl import URL
3939

4040
from . import get_logger
@@ -695,8 +695,9 @@ def check_schema_version(self, schema_version: str | None = None) -> None:
695695
"Server did not provide schema_version in /info/;"
696696
f" returned {server_info!r}"
697697
)
698-
server_ver, our_ver = PackagingVersion(server_schema_version), PackagingVersion(
699-
schema_version
698+
server_ver, our_ver = (
699+
PackagingVersion(server_schema_version),
700+
PackagingVersion(schema_version),
700701
)
701702
if server_ver > our_ver:
702703
# TODO: potentially adjust here if name would be different: see
@@ -840,7 +841,7 @@ class VersionInfo(Version):
840841
"""
841842

842843
asset_validation_errors: List[RemoteAssetValidationError]
843-
version_validation_errors: List[RemoteValidationError]
844+
validation_errors: List[RemoteValidationError]
844845

845846

846847
class RemoteDandisetData(APIBase):
@@ -1101,10 +1102,18 @@ def get_version(self, version_id: str) -> VersionInfo:
11011102
`Version`.
11021103
"""
11031104
try:
1105+
info_resp = self.client.get(
1106+
f"/dandisets/{self.identifier}/versions/{version_id}/info/"
1107+
)
1108+
asset_error_resp = self.client.get(
1109+
f"/dandisets/{self.identifier}/versions/{version_id}/asset_validation_errors/"
1110+
)
1111+
11041112
return VersionInfo.model_validate(
1105-
self.client.get(
1106-
f"/dandisets/{self.identifier}/versions/{version_id}/info/"
1107-
)
1113+
{
1114+
**info_resp,
1115+
"asset_validation_errors": asset_error_resp,
1116+
}
11081117
)
11091118
except HTTP404Error:
11101119
raise NotFoundError(
@@ -1194,9 +1203,7 @@ def wait_until_valid(self, max_time: float = 120) -> None:
11941203
"asset_validation_errors": [
11951204
e.json_dict() for e in v.asset_validation_errors
11961205
],
1197-
"version_validation_errors": [
1198-
e.json_dict() for e in v.version_validation_errors
1199-
],
1206+
"validation_errors": [e.json_dict() for e in v.validation_errors],
12001207
}
12011208
raise ValueError(
12021209
f"Dandiset {self.identifier} is {v.status.value}: {json.dumps(about, indent=4)}"

0 commit comments

Comments
 (0)