2009-06-27 00:32:43 -04:00
|
|
|
import os
|
|
|
|
import cPickle as pickle
|
2009-06-27 01:31:07 -04:00
|
|
|
from library import Library
|
2009-06-27 00:32:43 -04:00
|
|
|
|
2009-06-28 18:14:27 -04:00
|
|
|
from song import Song
|
2009-06-27 00:32:43 -04:00
|
|
|
|
|
|
|
class SavedData:
|
|
|
|
def __init__(self,options):
|
|
|
|
path = os.path.join(options.user,".ocarina")
|
|
|
|
path = os.path.join(path,"ocarina-data.data")
|
|
|
|
self.size = (800,600)
|
2009-06-27 17:56:33 -04:00
|
|
|
self.divider = 150
|
2009-06-27 01:31:07 -04:00
|
|
|
self.library = Library()
|
2009-06-28 15:23:51 -04:00
|
|
|
self.curList = []
|
2009-06-29 23:23:01 -04:00
|
|
|
self.curQ = []
|
|
|
|
self.updateQ = False
|
|
|
|
self.playingQ = False
|
2009-06-28 23:13:12 -04:00
|
|
|
self.curSong = 0
|
2009-06-28 18:14:27 -04:00
|
|
|
self.colSizes = [110,110,110,110,110]
|
|
|
|
self.sortedCol = 3
|
2009-06-28 15:23:51 -04:00
|
|
|
self.updateList = False
|
2009-06-27 00:32:43 -04:00
|
|
|
self.path = path
|
2009-06-28 18:14:27 -04:00
|
|
|
self.song = None
|
2009-06-28 23:13:12 -04:00
|
|
|
self.random = False
|
2009-07-01 09:41:33 -04:00
|
|
|
self.quit = None
|
2009-06-27 00:32:43 -04:00
|
|
|
|
|
|
|
if os.path.exists(path):
|
2009-06-27 17:56:33 -04:00
|
|
|
try:
|
|
|
|
self.load(path,options)
|
|
|
|
except:
|
|
|
|
if options.verbose == True:
|
|
|
|
print "Error loading user data"
|
2009-06-27 00:32:43 -04:00
|
|
|
|
|
|
|
|
|
|
|
# Dump user data to a file
|
|
|
|
def dump(self):
|
|
|
|
out = open(self.path,'w')
|
|
|
|
p = pickle.Pickler(out,1)
|
|
|
|
p.dump(self)
|
|
|
|
out.close()
|
|
|
|
|
|
|
|
|
2009-06-28 18:14:27 -04:00
|
|
|
def clearSong(self):
|
|
|
|
self.song.close()
|
|
|
|
self.song = None
|
|
|
|
return
|
|
|
|
|
|
|
|
|
2009-06-27 00:32:43 -04:00
|
|
|
# Read user data from the file
|
2009-06-27 17:56:33 -04:00
|
|
|
def load(self,path,options):
|
|
|
|
if options.verbose == True:
|
|
|
|
print "User data found, loading..."
|
2009-06-27 00:32:43 -04:00
|
|
|
p = pickle.Unpickler(open(path))
|
|
|
|
data = p.load()
|
2009-06-29 23:23:01 -04:00
|
|
|
#self.size = data.size
|
2009-06-27 17:56:33 -04:00
|
|
|
self.divider = data.divider
|
2009-06-28 23:13:12 -04:00
|
|
|
self.library = data.library
|
2009-06-28 15:23:51 -04:00
|
|
|
self.curList = data.curList
|
2009-06-28 23:13:12 -04:00
|
|
|
self.curSong = 0
|
2009-06-28 18:14:27 -04:00
|
|
|
self.colSizes = data.colSizes
|
2009-06-28 23:13:12 -04:00
|
|
|
self.path = data.path
|
|
|
|
self.random = data.random
|
2009-06-29 09:42:01 -04:00
|
|
|
self.curSong = data.curSong
|
2009-06-29 23:23:01 -04:00
|
|
|
self.curQ = data.curQ
|
|
|
|
self.playingQ = data.playingQ
|
|
|
|
|