Conversation
burk
left a comment
There was a problem hiding this comment.
Reviewed 43 of 43 files at r1.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on @taral)
exabel_data_sdk/client/api/error_handler.py, line 46 at r1 (raw file):
if status_code == HTTPStatus.SERVICE_UNAVAILABLE: return ErrorType.UNAVAILABLE if status_code == HTTPStatus.GATEWAY_TIMEOUT:
(there are some more here: https://github.com/cloudendpoints/esp/blob/master/src/api_manager/utils/status.cc#L320 but I don't know if they are required)
exabel_data_sdk/client/api/api_client/http/base_http_client.py, line 31 at r1 (raw file):
@overload def _request(self, method: str, url: str, response_proto: None, body: Message = None) -> None: ...
Oh, I haven't seen this before. Cool!
exabel_data_sdk/client/api/api_client/http/relationship_http_client.py, line 48 at r1 (raw file):
def get_relationship(self, request: GetRelationshipRequest) -> Relationship: # Since GetRelationship has the same url as ListRelationships, these requests cannot be # distinguished by the server, and we get a ListRelationshipsResponse.
(Sounds like a bug in the REST mapping)
exabel_data_sdk/client/api/data_classes/signal.py, line 25 at r1 (raw file):
self, name: str, entity_type: str,
(would it be better to deprecate it but leave it with a default value of None to not break existing code? I guess it's not so important as we're our biggest user ourselves..)
burk
left a comment
There was a problem hiding this comment.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on @taral)
exabel_data_sdk/client/api/api_client/http/base_http_client.py, line 31 at r1 (raw file):
Previously, burk (Bjørn Rustad) wrote…
Oh, I haven't seen this before. Cool!
In the example on the webpage, the actual implementation of the method has no type annotation at all though?
taral
left a comment
There was a problem hiding this comment.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on @burk)
exabel_data_sdk/client/api/error_handler.py, line 46 at r1 (raw file):
Previously, burk (Bjørn Rustad) wrote…
(there are some more here: https://github.com/cloudendpoints/esp/blob/master/src/api_manager/utils/status.cc#L320 but I don't know if they are required)
I selected the error codes that I see we use in the Data API server, so I think this is sufficient.
exabel_data_sdk/client/api/api_client/http/base_http_client.py, line 31 at r1 (raw file):
Previously, burk (Bjørn Rustad) wrote…
In the example on the webpage, the actual implementation of the method has no type annotation at all though?
Mypy complains if I remove them.
exabel_data_sdk/client/api/api_client/http/relationship_http_client.py, line 48 at r1 (raw file):
Previously, burk (Bjørn Rustad) wrote…
(Sounds like a bug in the REST mapping)
Yes, the proto method definition is accompanied by a TODO.
exabel_data_sdk/client/api/data_classes/signal.py, line 25 at r1 (raw file):
Previously, burk (Bjørn Rustad) wrote…
(would it be better to deprecate it but leave it with a default value of None to not break existing code? I guess it's not so important as we're our biggest user ourselves..)
It’s a bit awkward to deprecate the second argument in a list of four mandatory arguments. Since the fix is just to remove an argument, I don’t think it is a great burden on clients to make the change right away.
burk
left a comment
There was a problem hiding this comment.
Reviewable status:
complete! all files reviewed, all discussions resolved
exabel_data_sdk/client/api/data_classes/signal.py, line 25 at r1 (raw file):
Previously, taral wrote…
It’s a bit awkward to deprecate the second argument in a list of four mandatory arguments. Since the fix is just to remove an argument, I don’t think it is a great burden on clients to make the change right away.
Ah, true.
This change is