Fix and enhance PicklePersistence: deepcopy#1301
Closed
Bibo-Joshi wants to merge 5 commits intopython-telegram-bot:masterfrom
Bibo-Joshi:pp-deep-copy
Closed
Fix and enhance PicklePersistence: deepcopy#1301Bibo-Joshi wants to merge 5 commits intopython-telegram-bot:masterfrom Bibo-Joshi:pp-deep-copy
Bibo-Joshi wants to merge 5 commits intopython-telegram-bot:masterfrom
Bibo-Joshi:pp-deep-copy
Conversation
Member
Author
|
If this is merged, #1325 needs to be revisited. Similar adjustments have to be made for |
Member
|
I would like to merge this for the V12 beta that I'm working on.
|
Member
|
Oh and feel free to reach out to me on telegram @jsmnbom if you wanna help convince and fix these things together so we can get it v12 beta ready :) |
Merged
Member
|
Superseeded by #1342. We choose to go a simpler route and always deepcopy the data. Thanks a lot for both finding the issue and taking the time to make the PR :D |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As reported in #1297, the use of shallow copies in
PicklePersistenceleads to data not being persisted. Same holds forDictPersistenceA fix would be the use ofcopy.deepcopy, which however may become time consuming for large data sets.I therefore implemented an additional argument
on_updateforPickle/DictPersistencethat let's you choose wether to check for updates before dumping or not.If
on_update = False, checking is obmitted and one can skip time consuming deepcopies (i.e. just pass the actual data). Ifon_update = True, deepcopies are used.