Skip to content

Commit 0fd9a4e

Browse files
committed
Compatibilty issues regarding py2 solved
For Py2 compatibility
1 parent c5f703a commit 0fd9a4e

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

telegram/ext/picklepersistence.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,21 +74,25 @@ def load_singlefile(self):
7474
self.user_data = defaultdict(dict, all['user_data'])
7575
self.chat_data = defaultdict(dict, all['chat_data'])
7676
self.conversations = all['conversations']
77-
except FileNotFoundError:
77+
except IOError:
7878
self.conversations = {}
7979
self.user_data = defaultdict(dict)
8080
self.chat_data = defaultdict(dict)
8181
except pickle.UnpicklingError:
8282
raise TypeError("File {} does not contain valid pickle data".format(filename))
83+
except Exception:
84+
raise TypeError("Something went wrong unpickling {}".format(filename))
8385

8486
def load_file(self, filename):
8587
try:
8688
with open(filename, "rb") as f:
8789
return pickle.load(f)
88-
except FileNotFoundError:
90+
except IOError:
8991
return None
9092
except pickle.UnpicklingError:
9193
raise TypeError("File {} does not contain valid pickle data".format(filename))
94+
except Exception:
95+
raise TypeError("Something went wrong unpickling {}".format(filename))
9296

9397
def dump_singlefile(self):
9498
with open(self.filename, "wb") as f:

tests/test_basepersistence.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def test_creation(self, base_persistence):
6666
with pytest.raises(NotImplementedError):
6767
base_persistence.update_user_data(None)
6868
with pytest.raises(NotImplementedError):
69-
base_persistence.update_conversations(None)
69+
base_persistence.update_conversations(None, None)
7070
with pytest.raises(NotImplementedError):
7171
base_persistence.flush()
7272

tests/test_pickle_persistence.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ def pickle_persistence():
4141
def bad_pickle_files():
4242
for name in ['pickletest_user_data', 'pickletest_chat_data', 'pickletest_conversations',
4343
'pickletest']:
44-
with open(name, 'wb') as f:
45-
f.write(bytes('nonesense', 'utf8'))
44+
with open(name, 'w') as f:
45+
f.write('(())')
4646
yield True
4747
for name in ['pickletest_user_data', 'pickletest_chat_data', 'pickletest_conversations',
4848
'pickletest']:

0 commit comments

Comments
 (0)