# -*- coding: utf-8 -*- import redis import json class Task(object): id = None name = None deadline = None def __init__(self,name,deadline,id = 0): self.name = name self.deadline = deadline self.id = id def serialize(self): return json.dumps({'id':self.id, 'name':self.name, 'deadline':self.deadline}) def deserialize(self, serialized_task): task_dict = json.loads(serialized_task) self.name = task_dict['name'] self.deadline = task_dict['deadline'] self.id = task_dict['id'] def __str__(self): return "%s %s" %(self.deadline,self.name) @classmethod def from_json_string(cls,st): t = cls(' ',' ') t.deserialize(st) return t class TaskList(object): def __init__(self): self.tasks = [] self.task=Task('','','') def __str__(self): return " ".join(["%s "%str(task) for task in self.tasks]) def save(self,id,r): ids = [self.task.id for task in self.tasks] r.set('tl_%d' %int(self.id),json.dumps(ids)) for task in self.tasks: r.set('task.id'%task.id,Task.serialize()) def add(self,t): pass def edit(self, id): # t = tl.get(1) pass @classmethod def from_id(cls,id,r): self = cls() tr = r.get('tl_%d'%id) if tr is None: self.save(id,r) return self tr = json.loads(tr) for t in tr: s = r.get('task_%d'%t) s = Task.from_json_string(s) self.tasks.append(s) return self @staticmethod def get_list_ids(r): #r.keys('tl*') pass
не работает def save
что не так делаю?(