Skip to content

Commit c52fada

Browse files
authored
Add custom error handling for API errors (#205)
* Crete base DCResponse DCResponse just wraps around the api response * NodeResponse * ObservationResponse * ResolveResponse * SparqlResponse * fix return * consistent naming * Update response.py * tests for response utilities * Move response scripts and tests * Improve endpoint docstrings * Implement custom errors * Add tests for custom errors Move file to match history * isort isort imports with google profile * move tests to right folder * correct module structure (imports) * isort tests * Fix name typo
1 parent fa45dcb commit c52fada

File tree

12 files changed

+189
-37
lines changed

12 files changed

+189
-37
lines changed

datacommons_client/endpoints/response.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
from dataclasses import asdict, dataclass, field
1+
from dataclasses import asdict
2+
from dataclasses import dataclass
3+
from dataclasses import field
24
from typing import Any, Dict, List
35

4-
from datacommons_client.models.node import Arcs, NextToken, NodeDCID, Properties
5-
from datacommons_client.models.observation import (
6-
Facet,
7-
Variable,
8-
facetID,
9-
variableDCID,
10-
)
6+
from datacommons_client.models.node import Arcs
7+
from datacommons_client.models.node import NextToken
8+
from datacommons_client.models.node import NodeDCID
9+
from datacommons_client.models.node import Properties
10+
from datacommons_client.models.observation import Facet
11+
from datacommons_client.models.observation import facetID
12+
from datacommons_client.models.observation import Variable
13+
from datacommons_client.models.observation import variableDCID
1114
from datacommons_client.models.resolve import Entity
1215
from datacommons_client.models.sparql import Row
1316

datacommons_client/models/node.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from dataclasses import dataclass, field
1+
from dataclasses import dataclass
2+
from dataclasses import field
23
from typing import Any, Dict, List, Optional, TypeAlias
34

45
NextToken: TypeAlias = Optional[str]

datacommons_client/models/observation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from dataclasses import dataclass, field
1+
from dataclasses import dataclass
2+
from dataclasses import field
23
from typing import Any, Dict, TypeAlias
34

45
variableDCID: TypeAlias = str

datacommons_client/models/resolve.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from dataclasses import dataclass, field
1+
from dataclasses import dataclass
2+
from dataclasses import field
23
from typing import Any, Dict, List, Optional, TypeAlias
34

45
Query: TypeAlias = str

datacommons_client/models/sparql.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from dataclasses import dataclass, field
1+
from dataclasses import dataclass
2+
from dataclasses import field
23
from typing import Any, Dict, List
34

45

datacommons_client/tests/endpoints/test_response.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
1-
from datacommons_client.models.observation import (
2-
Facet,
3-
Observation,
4-
OrderedFacets,
5-
Variable,
6-
)
7-
from datacommons_client.endpoints.response import (
8-
DCResponse,
9-
NodeResponse,
10-
ObservationResponse,
11-
ResolveResponse,
12-
SparqlResponse,
13-
_unpack_arcs,
14-
extract_observations,
15-
flatten_properties,
16-
)
1+
from datacommons_client.endpoints.response import _unpack_arcs
2+
from datacommons_client.endpoints.response import DCResponse
3+
from datacommons_client.endpoints.response import extract_observations
4+
from datacommons_client.endpoints.response import flatten_properties
5+
from datacommons_client.endpoints.response import NodeResponse
6+
from datacommons_client.endpoints.response import ObservationResponse
7+
from datacommons_client.endpoints.response import ResolveResponse
8+
from datacommons_client.endpoints.response import SparqlResponse
9+
from datacommons_client.models.observation import Facet
10+
from datacommons_client.models.observation import Observation
11+
from datacommons_client.models.observation import OrderedFacets
12+
from datacommons_client.models.observation import Variable
1713

1814
### ----- Test DCResponse ----- ###
1915

datacommons_client/tests/models/test_node_models.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
from datacommons_client.models.node import Arcs, Node, NodeGroup, Properties
1+
from datacommons_client.models.node import Arcs
2+
from datacommons_client.models.node import Node
3+
from datacommons_client.models.node import NodeGroup
4+
from datacommons_client.models.node import Properties
25

36

47
def test_node_from_json():

datacommons_client/tests/models/test_observation_models.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
from datacommons_client.models.observation import (
2-
Facet,
3-
Observation,
4-
OrderedFacets,
5-
Variable,
6-
)
1+
from datacommons_client.models.observation import Facet
2+
from datacommons_client.models.observation import Observation
3+
from datacommons_client.models.observation import OrderedFacets
4+
from datacommons_client.models.observation import Variable
75

86

97
def test_observation_from_json():

datacommons_client/tests/models/test_resolve_models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from datacommons_client.models.resolve import Candidate, Entity
1+
from datacommons_client.models.resolve import Candidate
2+
from datacommons_client.models.resolve import Entity
23

34

45
def test_candidate_from_json():

datacommons_client/tests/models/test_sparql_models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from datacommons_client.models.sparql import Cell, Row
1+
from datacommons_client.models.sparql import Cell
2+
from datacommons_client.models.sparql import Row
23

34

45
def test_cell_from_json():

0 commit comments

Comments
 (0)