示例#1
0
文件: models.py 项目: imazepov/arnie
 def get_from_list(cls, list_name):
     conn = Connection.get_conn()
     objs = conn.lrange(list_name, 0, -1)
     for obj_list in objs:
         try:
             yield [cls.load_from_str(obj_str) for obj_str in eval(obj_list)]
         except:
             pass
示例#2
0
文件: models.py 项目: imazepov/arnie
    def delete(cls, inst, del_inst = False, list_name = None):
        if list_name is None:
            list_name = inst.get_default_list_name()

        conn = Connection.get_conn()
        conn.hdel(list_name, inst.get_key())
        if del_inst:
            del inst
示例#3
0
文件: models.py 项目: imazepov/arnie
    def get_all(cls, list_name = None):
        if not cls.is_stored():
            return

        if list_name is None:
            list_name = cls.get_default_list_name()

        conn = Connection.get_conn()
        hkeys = conn.hkeys(list_name)
        for key in hkeys:
            yield cls.load(key, list_name)
示例#4
0
文件: models.py 项目: imazepov/arnie
    def save(self, list_name=None):
        if not is_stored():
            return

        if list_name is None:
            list_name = self.get_default_list_name()

        self.list_name = list_name

        storage_key = self.get_key()
        conn = Connection.get_conn()
        s = self.save_to_str()
        conn.hset(list_name, storage_key, s)
示例#5
0
文件: models.py 项目: imazepov/arnie
    def add_to_list(self, list_name):
        conn = Connection.get_conn()
        if conn.llen(list_name) > 0:
            last_elem = eval(conn.lindex(list_name, -1))
            if isinstance(last_elem, list):
                if len(last_elem) > 0:
                    try:
                        last_set = ExercizeSet.load_from_str(last_elem[-1])               
                        if last_set.exercize == self.exercize:
                            last_elem.append(self.save_to_str())
                            conn.lset(list_name, -1, last_elem)
                            return
                    except:
                        pass          

        conn.rpush(list_name, [self.save_to_str()])
示例#6
0
文件: models.py 项目: imazepov/arnie
    def load(cls, key, list_name=None):
        if not cls.is_stored():
            return None

        if list_name is None:
            list_name = cls.get_default_list_name()

        print "--- Loading '{0}' by key '{1}'".format(cls.__name__, key)
        conn = Connection.get_conn()
        str = conn.hget(list_name, key)
        if str is None:
            return None
        obj = cls.load_from_str(str)
        obj.set_key(key)
        obj.list_name = list_name

        return obj
示例#7
0
文件: models.py 项目: imazepov/arnie
 def add_to_list(self, list_name):
     conn = Connection.get_conn()
     conn.rpush(list_name, self.get_key())
示例#8
0
文件: models.py 项目: imazepov/arnie
 def any(day):        
     conn = Connection.get_conn()
     return conn.llen('workout:' + date_to_str(day)) > 0