Skip to content

Commit

Permalink
change pickle read/load to binary; fixes a py3 bug
Browse files Browse the repository at this point in the history
  • Loading branch information
timothydmorton committed Jan 4, 2019
1 parent 3dc7888 commit ede7258
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions RealSpaceInterface/Calc2D/Database.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,22 @@ def __init__(self, directory, db_file="database.dat"):
self.db_path = os.path.join(directory, db_file)
if not os.path.exists(self.db_path):
logging.info("No database found; Creating one at {}.".format(self.db_path))
with open(self.db_path, "w") as f:
with open(self.db_path, "wb") as f:
pickle.dump(dict(), f)

self.db = self.__read_database()

def __read_database(self):
with open(self.db_path) as f:
with open(self.db_path, "rb") as f:
return pickle.load(f)

def __write_database(self):
with open(self.db_path, "w") as f:
with open(self.db_path, "wb") as f:
pickle.dump(self.db, f)

def __create_file(self, data):
filename = str(uuid.uuid4())
with open(os.path.join(self.directory, filename), "w") as f:
with open(os.path.join(self.directory, filename), "wb") as f:
pickle.dump(data, f)
return filename

Expand All @@ -40,7 +40,7 @@ def __getitem__(self, key):
frozen_key = self.__get_frozen_key(key)
if frozen_key in self.db:
filename = self.db[frozen_key]
with open(os.path.join(self.directory, filename)) as f:
with open(os.path.join(self.directory, filename), "rb") as f:
return pickle.load(f)
else:
raise KeyError("No data for key: {}".format(key))
Expand All @@ -55,4 +55,4 @@ def __contains__(self, key):
Return whether `self` contains a record
for the given `key`.
"""
return self.__get_frozen_key(key) in self.db
return self.__get_frozen_key(key) in self.db

0 comments on commit ede7258

Please sign in to comment.