Open kyrlon opened 4 months ago
Thanks for the PR. The (official) clients preserve the ID when converting between List
/Note
. IIRC, that was what made implementing this feature complicated.
The code needs to:
List
/Note
that the Keep
instance knows aboutThe last item is tricky as individual Node
s don't contain a reference to the Keep
instance. This is why ListItem
s aren't visible to the Keep
until they've been synced.
Our options:
Keep
instance within every Node
.Interesting. The latter option sounds like a challenge, but with your guidance I am up for it. Would this be some variant of dependency injection?
Hmm, perhaps we can get around this by making it a method on the Keep
object like so:
list_ = keep.to_list(note)
note = keep.to_note(list)
That looks kind of odd though. I think the crux of the issue is: Does a user expect a converted Note/List to retain all its metadata?
Hmm that does look peculiar. Is it possible to make the reference to the keep
instance optional?
Fixes kiwiz/gkeepapi#122. Added methods roughly outlined in the issue