Browse Source

Use deepcopy for dict copy operations

The BASE content gets corrupted due to use of shallow copy
in dictionary copy operations. Use copy.deepcopy instead.

Change-Id: Ia29ccf1f60322c2de16309b7dd998ddf182917b4
changes/79/543979/1
Thierry Carrez 3 years ago
parent
commit
f8ce01d4e5
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      ptgbot/db.py

+ 4
- 3
ptgbot/db.py View File

@ -15,6 +15,7 @@
# limitations under the License.
import calendar
import copy
import datetime
from itertools import chain
import json
@ -37,9 +38,9 @@ class PTGDataBase():
with open(self.filename, 'r') as fp:
self.data = json.load(fp)
else:
self.data = self.BASE
self.data = copy.deepcopy(self.BASE)
old_data = self.data['additional'].copy()
old_data = copy.deepcopy(self.data['additional'])
self.load_data_from_config()
self.merge_additional(old_data)
self.save()
@ -167,7 +168,7 @@ class PTGDataBase():
self.save()
def wipe(self):
self.data = self.BASE
self.data = copy.deepcopy(self.BASE)
self.save()
def save(self):


Loading…
Cancel
Save