Spaces:
Sleeping
Sleeping
| import os,json,datetime | |
| class BuddyMemory: | |
| def __init__(self,filename='memory.json'): | |
| self.filename=filename | |
| self.data=self._load() | |
| def _load(self): | |
| if os.path.exists(self.filename): | |
| try: | |
| return json.load(open(self.filename)) | |
| except: | |
| return {} | |
| return {} | |
| def save(self): | |
| json.dump(self.data, open(self.filename,'w'), indent=2) | |
| def set_pref(self,user,k,v): | |
| self.data.setdefault('users',{}).setdefault(user,{}).setdefault('prefs',{})[k]=v; self.save() | |
| def add_message(self,user,role,text,name=None): | |
| self.data.setdefault('users',{}).setdefault(user,{}).setdefault('conv',[]).append({'role':role,'text':text,'time':datetime.datetime.now().isoformat(),'name':name}) | |
| self.save() | |
| def get_conversation(self,user): | |
| return self.data.get('users',{}).get(user,{}).get('conv',[]) | |