39 lines
770 B
Python
39 lines
770 B
Python
# Bryan Schumaker (4 / 28 / 2011)
|
|
|
|
import os
|
|
from os import path
|
|
import cPickle as pickle
|
|
from libsaria import version
|
|
|
|
USER_DIR = path.expanduser("~")
|
|
PROTO = pickle.HIGHEST_PROTOCOL
|
|
|
|
saria = ".saria"
|
|
if version.__dev__ == True:
|
|
saria = ".saria-dev"
|
|
SARIA_DIR = path.join(USER_DIR, saria)
|
|
if path.exists(SARIA_DIR) == False:
|
|
os.mkdir(SARIA_DIR)
|
|
|
|
|
|
def full_path(filename):
|
|
return path.join(SARIA_DIR, filename)
|
|
|
|
def save_obj(filename, object):
|
|
f = open(full_path(filename), 'w')
|
|
p = pickle.Pickler(f, PROTO)
|
|
p.dump(object)
|
|
f.close()
|
|
|
|
def load_obj(filename, default):
|
|
file = full_path(filename)
|
|
if path.exists(file) == False:
|
|
return default()
|
|
f = open(file)
|
|
try:
|
|
object = pickle.loads(f.read())
|
|
except:
|
|
object = default()
|
|
f.close()
|
|
return object
|