def remove_user(uid, clear_status=True): user = User.get(uid) if not user: print "---no user:%s" % uid suicide_log.info("---- delete from user, uid=%s" % uid) db_conn.execute("delete from user where id=%s", uid) db_conn.commit() User._clear_cache(uid) if clear_status: cursor = db_conn.execute("select id from status where user_id=%s", uid) if cursor: rows = cursor.fetchall() for row in rows: sid = row[0] suicide_log.info("---- delete status text, sid=%s" % sid) RawStatus.remove(sid) suicide_log.info("---- delete from status, uid=" % uid) db_conn.execute("delete from status where user_id=%s", uid) db_conn.commit() Status._clear_cache(uid, None) suicide_log.info("---- delete from passwd, uid=%s" % uid) db_conn.execute("delete from passwd where user_id=%s", uid) suicide_log.info("---- delete from sync_task, uid=%s" % uid) db_conn.execute("delete from sync_task where user_id=%s", uid) suicide_log.info("---- delete from user_alias, uid=%s" % uid) db_conn.execute("delete from user_alias where user_id=%s", uid) db_conn.commit()
def remove_user(uid): user = User.get(uid) if not user: print '---no user:%s' % uid print "---- delete from user, uid=", uid db_conn.execute("delete from user where id=%s", uid) db_conn.commit() User._clear_cache(uid) cursor = db_conn.execute("select id from status where user_id=%s", uid) if cursor: rows = cursor.fetchall() for row in rows: sid = row[0] print "---- delete mongo text, sid=", sid RawStatus.remove(sid) print "---- delete from status, uid=", uid db_conn.execute("delete from status where user_id=%s", uid) db_conn.commit() Status._clear_cache(uid, None) print "---- delete from passwd, uid=", uid db_conn.execute("delete from passwd where user_id=%s", uid) print "---- delete from sync_task, uid=", uid db_conn.execute("delete from sync_task where user_id=%s", uid) print "---- delete from user_alias, uid=", uid db_conn.execute("delete from user_alias where user_id=%s", uid) db_conn.commit()
def remove_user(uid, clear_status=True): user = User.get(uid) if not user: print '---no user:%s' % uid suicide_log.info("---- delete from user, uid=%s" % uid) db_conn.execute("delete from user where id=%s", uid) db_conn.commit() User._clear_cache(uid) if clear_status: cursor = db_conn.execute("select id from status where user_id=%s", uid) if cursor: rows = cursor.fetchall() for row in rows: sid = row[0] suicide_log.info("---- delete status text, sid=%s" % sid) RawStatus.remove(sid) suicide_log.info("---- delete from status, uid=" % uid) db_conn.execute("delete from status where user_id=%s", uid) db_conn.commit() Status._clear_cache(uid, None) suicide_log.info("---- delete from passwd, uid=%s" % uid) db_conn.execute("delete from passwd where user_id=%s", uid) suicide_log.info("---- delete from sync_task, uid=%s" % uid) db_conn.execute("delete from sync_task where user_id=%s", uid) suicide_log.info("---- delete from user_alias, uid=%s" % uid) db_conn.execute("delete from user_alias where user_id=%s", uid) db_conn.commit()
def render(user, status_list, with_head=True): if not status_list: return date = status_list[0].create_time.strftime("%Y年%m月") date = date.decode("utf8") if with_head: _html = u"""<html> <body> <div id="Top"> <img src="%s"/> The Past of Me | 个人杂志计划 %s CopyRight©%s <br/> </div> <br/> <br/> <div class="box"> """ % (os.path.join(app.root_path, "static/img/logo.png"), date, user.name) else: _html = u"""<html> <body><div class="box">""" from jinja2 import Environment, PackageLoader env = Environment(loader=PackageLoader('past', 'templates')) env.filters['wrap_long_line'] = wrap_long_line env.filters['nl2br'] = filters.nl2br env.filters['stream_time'] = filters.stream_time env.filters['clear_html_element'] = clear_html_element env.filters['isstr'] = lambda x: isinstance(x, basestring) t = env.get_template('status.html') m = t.module for s in status_list: if not s: continue if s.category == config.CATE_DOUBAN_STATUS: r = m.douban_status(s, pdf=True) elif s.category == config.CATE_SINA_STATUS: r = m.sina_status(s, pdf=True) elif s.category == config.CATE_TWITTER_STATUS: r = m.twitter_status(s, pdf=True) elif s.category == config.CATE_QQWEIBO_STATUS: r = m.qq_weibo_status(s, pdf=True) elif s.category == config.CATE_WORDPRESS_POST: r = m.wordpress_status(s, pdf=True) elif s.category == config.CATE_THEPAST_NOTE: r = m.thepast_note_status(s, pdf=True) elif s.category == config.CATE_RENREN_STATUS: r = m.thepast_renren_status(s, pdf=True) elif s.category == config.CATE_RENREN_BLOG: r = m.thepast_renren_blog(s, pdf=True) elif s.category == config.CATE_RENREN_PHOTO or s.category == config.CATE_RENREN_ALBUM: r = m.thepast_renren_photo(s, pdf=True) elif s.category == config.CATE_INSTAGRAM_STATUS: r = m.thepast_default_status(s, pdf=True) else: r = '' if not r: continue _html += '''<div class="cell">''' + r + '''</div>''' Status._clear_cache(user_id = s.user_id, status_id = s.id) _html += """</div></body></html>""" return _html
def render(user, status_list, with_head=True): if not status_list: return date = status_list[0].create_time.strftime("%Y年%m月") date = date.decode("utf8") if with_head: _html = u"""<html> <body> <div id="Top"> <img src="%s"/> The Past of Me | 个人杂志计划 %s CopyRight©%s <br/> </div> <br/> <br/> <div class="box"> """ % ( os.path.join(app.root_path, "static/img/logo.png"), date, user.name, ) else: _html = u"""<html> <body><div class="box">""" from jinja2 import Environment, PackageLoader env = Environment(loader=PackageLoader("past", "templates")) env.filters["wrap_long_line"] = wrap_long_line env.filters["nl2br"] = filters.nl2br env.filters["clear_html_element"] = clear_html_element t = env.get_template("status.html") m = t.module for s in status_list: if not s: continue if s.category == config.CATE_DOUBAN_STATUS: r = m.douban_status(s, pdf=True) elif s.category == config.CATE_SINA_STATUS: r = m.sina_status(s, pdf=True) elif s.category == config.CATE_TWITTER_STATUS: r = m.twitter_status(s, pdf=True) elif s.category == config.CATE_QQWEIBO_STATUS: r = m.qq_weibo_status(s, pdf=True) elif s.category == config.CATE_WORDPRESS_POST: r = m.wordpress_status(s, pdf=True) elif s.category == config.CATE_THEPAST_NOTE: r = m.thepast_note_status(s, pdf=True) else: r = "" if not r: continue _html += """<div class="cell">""" + r + """</div>""" Status._clear_cache(user_id=s.user_id, status_id=s.id) _html += """</div></body></html>""" return _html
def remove_status(uid): cursor = db_conn.execute("select id from status where user_id=%s", uid) if cursor: rows = cursor.fetchall() for row in rows: sid = row[0] print "---- delete mongo text, sid=", sid RawStatus.remove(sid) print "---- delete from status, uid=", uid db_conn.execute("delete from status where user_id=%s", uid) db_conn.commit() Status._clear_cache(uid, None)
def update(self, title, content, fmt): if title and title != self.title or fmt and fmt != self.fmt or content and content != self.content: _fmt = fmt or self.fmt _title = title or self.title _content = content or self.content db_conn.execute('''update note set title = %s, content = %s, fmt = %s where id = %s''', (_title, _content, _fmt, self.id)) db_conn.commit() self.flush_note() if title != self.title: from past.model.status import Status Status._clear_cache(None, self.get_status_id(), None)
def update(self, title, content, fmt, privacy): if title and title != self.title or fmt and fmt != self.fmt or content and content != self.content or privacy and privacy != self.privacy: _fmt = fmt or self.fmt _title = title or self.title _content = content or self.content _privacy = privacy or self.privacy db_conn.execute('''update note set title = %s, content = %s, fmt = %s, privacy = %s where id = %s''', (_title, _content, _fmt, _privacy, self.id)) db_conn.commit() self.flush_note() if title != self.title: from past.model.status import Status Status._clear_cache(None, self.get_status_id(), None)