def migrate_message(): db = xtables.get_message_table() for item in db.select(): try: unix_timestamp = xutils.parse_time(item.ctime) except: unix_timestamp = xutils.parse_time(item.ctime, "%Y-%m-%d") timestamp = "%020d" % (unix_timestamp * 1000) key = "message:%s:%s" % (item.user, timestamp) item["old_id"] = item.id item["id"] = key ldb_value = dbutil.get(key) put_to_db = False if ldb_value and item.mtime >= ldb_value.mtime: put_to_db = True if ldb_value is None: put_to_db = True if put_to_db: dbutil.put(key, item) return "迁移完成!"
def get_history(note_id, version): # note = table.select_first(where = dict(note_id = note_id, version = version)) return dbutil.get("note_history:%s:%s" % (note_id, version))
def get_by_token(token): token_info = dbutil.get("token:%s" % token) if token_info != None and token_info.type == "note": return get_by_id(token_info.id) return None
def get_note_stat(user_name): stat = dbutil.get("user_stat:%s:note" % user_name) if stat is None: stat = refresh_note_stat(user_name) return stat
def get_comment(comment_id): return dbutil.get(comment_id)
def get_tags(creator, note_id): key = "note_tags:%s:%s" % (creator, note_id) note_tags = dbutil.get(key) if note_tags: return attrget(note_tags, "tags") return None
def find_by_name(name): if name is None: return None name = name.lower() return dbutil.get("user:%s" % name)
def get_message_stat0(user): value = dbutil.get("user_stat:%s:message" % user) if value is None: return Storage() return value
def get_message_by_id(id): if id is None: return None return dbutil.get(id)
def get_message_by_id(id): return dbutil.get(id)