00001 from win32api import GetComputerName 00002 import shelve 00003 00004 class persistence(object): 00005 def __init__(self, fname): 00006 self.__fname = fname 00007 self.__isUsingSpecificFileName = False 00008 00009 def set_isUsingSpecificFileName(self,bool): 00010 self.__isUsingSpecificFileName = bool 00011 00012 def get_isUsingSpecificFileName(self): 00013 return self.__isUsingSpecificFileName 00014 00015 def set_fname(self,fname): 00016 self.__fname = fname 00017 self.isUsingSpecificFileName = True 00018 00019 def get_fname(self): 00020 return self.__fname 00021 00022 def getShelvedFileName(self): 00023 if (self.isUsingSpecificFileName): 00024 return self.fname 00025 else: 00026 return '%s_%s_%s.dat' % (self.fname,__name__,GetComputerName()) 00027 00028 def shelveThis(self,key,value): 00029 handle = shelve.open(self.getShelvedFileName()) 00030 handle[key] = value 00031 handle.close() 00032 00033 def unShelveThis(self,key): 00034 value = '' 00035 fname = self.getShelvedFileName() 00036 try: 00037 handle = shelve.open(fname) 00038 if (handle.has_key(key)): 00039 try: 00040 value = handle[key] 00041 except Exception, details: 00042 print 'Unable to un-shelve from "%s" due to "%s".' % (fname,str(details)) 00043 finally: 00044 handle.close() 00045 except: 00046 print 'Unable to un-shelve from "%s", probably due to a faulty path name.' % fname 00047 return value 00048 00049 fname = property(get_fname, set_fname) 00050 isUsingSpecificFileName = property(get_isUsingSpecificFileName, set_isUsingSpecificFileName) 00051 00052
© Copyright 2008-2009 Vyper Logix Corp., All Right Reserved; If you reference this document or any part of this document you must use the citation verbatim (including the link) "© Copyright 2008-2009 Vyper Logix Corp., All Right Reserved."
Notice: This source code contained in this document is NOT open source and is NOT being distributed as open source.
122,241 lines of code and growing...