-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
@dhermes I put this as a new issue because I thought people might have a problem with this too. Please feel free to edit/remove this issue if it is not appropriate to put it here.
I was running pip install --upgrade google-cloud-datastore to get latest version that has the key.to_legacy_urlsafe() implemented in #3491. I tested the method and I found out that the urlsafe generated from the method is still not the same as datastore's urlsafe.
I have implemented my own function to generate the urlsafe key before the update was released and so far it worked properly for me (I can share my code if anybody wants). So I compared my function with the to_legacy_urlsafe and I found the problem:
reference = _app_engine_key_pb2.Reference(
app=self.project,
path=_to_legacy_path(self._path), # Avoid the copy.
name_space=self.namespace,
)
In the app argument, the location identifier is missing unlike in my function where I concatenated the "s~" at the beginning of the string. I think this is the cause of the problem why it was not getting the urlsafe correct, although I don't understand why it needs the location identifier in front of the project name in the first place.
Do you think I should send a PR to fix this?