-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprefs.py
39 lines (30 loc) · 962 Bytes
/
prefs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
'''
Created on Apr 15, 2015
@author: bgrivna
'''
import logging
import os
import pickle
logger = logging.getLogger(__name__)
class Prefs:
def __init__(self, prefPath):
self.prefPath = prefPath
self.prefmap = {}
self.read()
def write(self):
with open(self.prefPath, 'wb') as pf:
pickle.dump(self.prefmap, pf)
pf.close()
logger.info("saved preferences: " + str(self.prefmap))
def read(self):
if os.path.exists(self.prefPath):
pf = open(self.prefPath, 'rb')
self.prefmap = pickle.load(pf)
pf.close()
logger.info("loaded prefs: " + str(self.prefmap))
else:
logger.info("no prefs found at " + self.prefPath)
def get(self, key, default=""):
return self.prefmap[key] if key in self.prefmap else default
def set(self, key, value):
self.prefmap[key] = value