def on_close(self): user = self.current_user if user.username in WebsocketChatHandler.clients.keys(): WebsocketChatHandler.clients.pop(user.username) else: logger.debug("[{0}] not in Websocket.clients, but close.".format(user.username))
def on_close(self): user = self.current_user if user.username in WebsocketChatHandler.clients.keys(): WebsocketChatHandler.clients.pop(user.username) else: logger.debug("[{0}] not in Websocket.clients, but close.".format( user.username))
def mysql_db_init(db_mysql): if not mysqldb.execute_sql("select * from information_schema.schemata where schema_name = '{0}';".format(config.BACKEND_MYSQL['database'])).fetchone(): mysqldb.execute_sql("create database {0} default character set utf8 default collate utf8_general_ci;".format(config.BACKEND_MYSQL['database'])) else: mysqldb.execute_sql("drop database torweb") mysqldb.execute_sql("create database {0} default character set utf8 default collate utf8_general_ci;".format(config.BACKEND_MYSQL['database'])) # create_test_data(db_mysql) logger.debug('load db from db/torweb.sql.') import os os.system(' mysql -u{0} -p{1} {2} <'.format(config.BACKEND_MYSQL['user'], config.BACKEND_MYSQL['password'], config.BACKEND_MYSQL['database'])+os.getcwd()+'/db/torweb.sql') mysqldb.close()
def mysql_db_init(db_mysql, db_name): if not mysqldb.execute_sql("select * from information_schema.schemata where schema_name = '{0}';".format(config.BACKEND_MYSQL['database'])).fetchone(): mysqldb.execute_sql("create database {0} default character set utf8 default collate utf8_general_ci;".format(config.BACKEND_MYSQL['database'])) else: mysqldb.execute_sql("drop database torweb") mysqldb.execute_sql("create database {0} default character set utf8 default collate utf8_general_ci;".format(config.BACKEND_MYSQL['database'])) pass create_table(db_mysql) # create_test_data(db_mysql) logger.debug('load db from {0}.'.format(db_name)) import os os.system('mysql -u{0} -p{1} {2} <'.format(config.BACKEND_MYSQL['user'], config.BACKEND_MYSQL['password'], config.BACKEND_MYSQL['database'])+os.getcwd()+db_name) mysqldb.close()
def runserver(): # define("port", default=8888, help="run on the given port", type=int) define("config", default='', help="config", type=str) parse_command_line() # maybe we can log with file # parse_config_file() import settings.config config = settings.config.load_config(options.config) settings.config.config = config from app.cache import update_cache update_cache() from custor.handlers.basehandler import ErrorHandler from app import urls handlers = () handlers += urls.urlpattern handlers += tuple((x[0], tornado.web.StaticFileHandler, x[1]) for x in config.STATIC_PATH) from custor import uimethods ui_build_methods = { 'datetime_delta': uimethods.datetime_delta, 'is_default_avatar': uimethods.is_default_avatar } application = tornado.web.Application( handlers=handlers, ui_methods=ui_build_methods, default_handler_class=ErrorHandler, debug=config.DEBUG, static_path=config.static_path, template_path=config.TEMPLATE_PATH, login_url=config.LOGIN_URL, cookie_secret=config.COOKIE_SECRET, ) # added signal callback to interrupt app signal.signal(signal.SIGINT, server_shutdown_handler) signal.signal(signal.SIGTERM, server_shutdown_handler) application.listen(config.PORT) from custor.logger import logger logger.debug('Server started at port %s' % config.PORT) tornado.ioloop.IOLoop.instance().start()
def runserver(): # define("port", default=8888, help="run on the given port", type=int) define("config", default='', help="config", type=str) parse_command_line() # maybe we can log with file # parse_config_file() import settings.config config = settings.config.load_config(options.config) settings.config.config = config from app.cache import update_cache update_cache() from custor.handlers.basehandler import ErrorHandler from app import urls handlers = () handlers += urls.urlpattern handlers += tuple((x[0], tornado.web.StaticFileHandler, x[1]) for x in config.STATIC_PATH) from custor import uimethods ui_build_methods = { 'datetime_delta': uimethods.datetime_delta, 'is_default_avatar': uimethods.is_default_avatar } application = tornado.web.Application( handlers=handlers, ui_methods=ui_build_methods, default_handler_class=ErrorHandler, debug=config.DEBUG, template_path=config.TEMPLATE_PATH, login_url=config.LOGIN_URL, cookie_secret=config.COOKIE_SECRET, ) # added signal callback to interrupt app signal.signal(signal.SIGINT, server_shutdown_handler) signal.signal(signal.SIGTERM, server_shutdown_handler) application.listen(config.PORT) from custor.logger import logger logger.debug('Server started at port %s' % config.PORT) tornado.ioloop.IOLoop.instance().start()
def run(self): logger.debug("start monitor system status...") while True: try: s1 = psutil.cpu_percent() s2 = psutil.virtual_memory()[2] try: s3 = len(psutil.net_connections()) except: s3 = 'unkown' s4 = datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d") self.systatus[0] = s1 self.systatus[1] = s2 self.systatus[2] = s3 self.systatus[3] = s4 from app.api.api import SystemStatusWebsocketHandler SystemStatusWebsocketHandler.write2all(self.systatus) time.sleep(30) except KeyboardInterrupt: break
def on_message(self, message): json_data = get_cleaned_json_data_websocket(message, ['opt', 'data']) data = json_data['data'] opt = json_data['opt'] if opt == 'update_recent_user_list': logger.debug('update_recent_user_list...') recent_user_list = ChatMessage.get_recent_user_list(self.current_user) self.write_message(json_result(0,{'code': 'recent_user_list', 'data': recent_user_list})) elif opt == 'update_recent_user_list_and_open': recent_user_list = ChatMessage.get_recent_user_list(self.current_user) self.write_message(json_result(0,recent_user_list)) elif opt == 'send_message': other_id = data['user_id'] other = User.get(User.id == other_id) content = data['content'] cl = ChatMessage.create(sender=self.current_user, receiver=other, content=content) self.write_message(json_result(0, {'code': 'receive_a_message', 'data': { 'id': other.id, 'name': other.username, 'avatar': other.avatar, 'msg': ['>', cl.content, TimeUtil.datetime_delta(cl.time)]}})) # send to other user other_websocket = WebsocketChatHandler.is_online(other.username) if other_websocket: other_websocket.write_message(json_result(0, {'code': 'receive_a_message', 'data': { 'id': self.current_user.id, 'avatar': self.current_user.avatar, 'name': self.current_user.username, 'msg': ['<', cl.content, TimeUtil.datetime_delta(cl.time)]}})) elif opt == 'update_recent_message_list': other_id = data['user_id'] other = User.get(User.id == other_id) recent_message = ChatMessage.get_recent_chat_message(self.current_user, other) logger.debug(recent_message) self.write_message(json_result(0,{'code': 'recent_message_list', 'data':recent_message}))
def run(self): logger.debug("start monitor system status...") import psutil, datetime, time while True: try: s1 = psutil.cpu_percent() s2 = psutil.virtual_memory()[2] try: s3 = len(psutil.net_connections()) except: s3 = 'unkown' s4 = datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d") self.systatus[0] = s1 self.systatus[1] = s2 self.systatus[2] = s3 self.systatus[3] = s4 from app.api.api import SystemStatusWebsocketHandler SystemStatusWebsocketHandler.write2all(self.systatus) time.sleep(30) except KeyboardInterrupt: break
def on_message(self, message): json_data = get_cleaned_json_data_websocket(message, ['opt', 'data']) data = json_data['data'] opt = json_data['opt'] if opt == 'update_recent_user_list': logger.debug('update_recent_user_list...') recent_user_list = ChatMessage.get_recent_user_list( self.current_user) self.write_message( json_result(0, { 'code': 'recent_user_list', 'data': recent_user_list })) elif opt == 'update_recent_user_list_and_open': recent_user_list = ChatMessage.get_recent_user_list( self.current_user) self.write_message(json_result(0, recent_user_list)) elif opt == 'send_message': other_id = data['user_id'] other = User.get(User.id == other_id) content = data['content'] cl = ChatMessage.create(sender=self.current_user, receiver=other, content=content) self.write_message( json_result( 0, { 'code': 'receive_a_message', 'data': { 'id': other.id, 'name': other.username, 'avatar': other.avatar, 'msg': [ '>', cl.content, TimeUtil.datetime_delta(cl.time) ] } })) # send to other user other_websocket = WebsocketChatHandler.is_online(other.username) if other_websocket: other_websocket.write_message( json_result( 0, { 'code': 'receive_a_message', 'data': { 'id': self.current_user.id, 'avatar': self.current_user.avatar, 'name': self.current_user.username, 'msg': [ '<', cl.content, TimeUtil.datetime_delta(cl.time) ] } })) elif opt == 'update_recent_message_list': other_id = data['user_id'] other = User.get(User.id == other_id) recent_message = ChatMessage.get_recent_chat_message( self.current_user, other) logger.debug(recent_message) self.write_message( json_result(0, { 'code': 'recent_message_list', 'data': recent_message }))
def create_test_data(db_mysql): from db.mysql_model.user import User, Profile, Follower, ChatMessage from db.mysql_model.post import Post, PostReply, PostCategory, PostTopic, CollectPost from db.mysql_model.common import Notification from db.mysql_model.blog import BlogPost, BlogPostLabel, BlogPostCategory logger.debug("DataBase is not exist, so create test data.") # -------------------- 测试用户功能 --------------- user_admin = User.new(username='******', email='*****@*****.**', password='******') user_test = User.new(username='******', email='*****@*****.**', password='******') # -------------------- 测试关注功能 --------------- Follower.create(user=user_admin, follower=user_test) # -------------------- 测试分类功能 -------------- logger.debug(""" 版块分类 专业: 计算机 学习: 学习资料、考研资料、家教、竞赛 生活: 共享账号、电影资源、常用软件、电脑故障 爱好: 摄影、健身 未分类: 校园通知、讨论 """) postcategory0 = PostCategory.create(name='学习', str='study') postcategory1 = PostCategory.create(name='专业', str='major') postcategory2 = PostCategory.create(name='生活', str='live') postcategory3 = PostCategory.create(name='爱好', str='hobby') posttopic0 = PostTopic.create(category=postcategory0, name='学习资料', str='study-material') posttopic1 = PostTopic.create(category=postcategory0, name='考研资料', str='study-advance-material') posttopic2 = PostTopic.create(category=postcategory0, name='竞赛', str='study-competition') posttopic3 = PostTopic.create(category=postcategory0, name='请教', str='study-advice') posttopic4 = PostTopic.create(category=postcategory1, name='计算机', str='major-computer') posttopic5 = PostTopic.create(category=postcategory2, name='电影资源', str='live-movie') posttopic6 = PostTopic.create(category=postcategory2, name='共享账号', str='live-account') posttopic7 = PostTopic.create(category=postcategory2, name='电脑故障', str='live-computer-repair') posttopic8 = PostTopic.create(category=postcategory3, name='摄影', str='hobby-photography') posttopic9 = PostTopic.create(category=postcategory3, name='健身', str='hobby-fitness') posttopic10 = PostTopic.create(name='通知', str='notice') posttopic11 = PostTopic.create(name='讨论', str='discussion') # ---------------- 测试新文章 -------------- post = Post.create( topic=posttopic0, title='test', content=tmp_post, user=user_admin ) # ---------------- 测试通知 -------------- Notification.new_post(post) # ------------测试新回复-------------- postreply = PostReply.create( post=post, user=user_test, content='test' ) post.update_latest_reply(postreply) # ---------------- 测试Blog -------------- bpc0 = BlogPostCategory.create(name='Tornado', str='Tornado') bp0 = BlogPost.create(title='Tornado', category=bpc0, content='Tornado content') BlogPostLabel.add_post_label('python,tornado', bp0) # ---------------- 测试chat -------------- chat_log_0 = ChatMessage.create(sender=user_admin, receiver=user_test, content='self>other') chat_log_0 = ChatMessage.create(sender=user_test, receiver=user_admin, content='other>self')
def update_cache(): logger.debug('start update cache...') update_topic_category_cache() update_hot_post_cache() update_system_status_cache()
# coding:utf-8 from .image import ImageCaptcha from custor.logger import logger logger.debug('load ImageCaptcha finished...') image_captcha = ImageCaptcha()
def create_test_data(db_mysql): from db.mysql_model.user import User, Profile, Follower, ChatMessage from db.mysql_model.post import Post, PostReply, PostCategory, PostTopic, CollectPost from db.mysql_model.common import Notification from db.mysql_model.blog import BlogPost, BlogPostLabel, BlogPostCategory logger.debug("DataBase is not exist, so create test data.") # -------------------- 测试用户功能 --------------- user_admin = User.new(username='******', email='*****@*****.**', password='******') user_test = User.new(username='******', email='*****@*****.**', password='******') # -------------------- 测试关注功能 --------------- Follower.create(user=user_admin, follower=user_test) # -------------------- 测试分类功能 -------------- logger.debug(""" 版块分类 专业: 计算机 学习: 学习资料、考研资料、家教、竞赛 生活: 共享账号、电影资源、常用软件、电脑故障 爱好: 摄影、健身 未分类: 校园通知、讨论 """) postcategory0 = PostCategory.create(name='学习', str='study') postcategory1 = PostCategory.create(name='专业', str='major') postcategory2 = PostCategory.create(name='生活', str='live') postcategory3 = PostCategory.create(name='爱好', str='hobby') posttopic0 = PostTopic.create(category=postcategory0, name='学习资料', str='study-material') posttopic1 = PostTopic.create(category=postcategory0, name='考研资料', str='study-advance-material') posttopic2 = PostTopic.create(category=postcategory0, name='竞赛', str='study-competition') posttopic3 = PostTopic.create(category=postcategory0, name='请教', str='study-advice') posttopic4 = PostTopic.create(category=postcategory1, name='计算机', str='major-computer') posttopic5 = PostTopic.create(category=postcategory2, name='电影资源', str='live-movie') posttopic6 = PostTopic.create(category=postcategory2, name='共享账号', str='live-account') posttopic7 = PostTopic.create(category=postcategory2, name='电脑故障', str='live-computer-repair') posttopic8 = PostTopic.create(category=postcategory3, name='摄影', str='hobby-photography') posttopic9 = PostTopic.create(category=postcategory3, name='健身', str='hobby-fitness') posttopic10 = PostTopic.create(name='通知', str='notice') posttopic11 = PostTopic.create(name='讨论', str='discussion') # ---------------- 测试新文章 -------------- post = Post.create(topic=posttopic0, title='test', content=tmp_post, user=user_admin) # ---------------- 测试通知 -------------- Notification.new_post(post) # ------------测试新回复-------------- postreply = PostReply.create(post=post, user=user_test, content='test') post.update_latest_reply(postreply) # ---------------- 测试Blog -------------- bpc0 = BlogPostCategory.create(name='Tornado', str='Tornado') bp0 = BlogPost.create(title='Tornado', category=bpc0, content='Tornado content') BlogPostLabel.add_post_label('python,tornado', bp0) # ---------------- 测试chat -------------- chat_log_0 = ChatMessage.create(sender=user_admin, receiver=user_test, content='self>other') chat_log_0 = ChatMessage.create(sender=user_test, receiver=user_admin, content='other>self')
def create_test_data(db_mysql): from db.mysql_model.user import User, Profile, Follower, ChatLog from db.mysql_model.post import Post, PostReply, PostCategory, PostTopic, CollectPost from db.mysql_model.common import Notification from db.mysql_model.blog import BlogPost, BlogPostLabel, BlogPostCategory logger.debug("DataBase is not exist, so create test data.") # -------------------- 建表 --------------- db_mysql.create_tables([User, ChatLog, PostCategory, PostTopic, Post, PostReply, CollectPost, Profile, Follower, Notification, BlogPostCategory, BlogPost, BlogPostLabel], safe=True) user_admin = User.new(username='******', email='*****@*****.**', password='******') user_test = User.new(username='******', email='*****@*****.**', password='******') # -------------------- 测试关注功能 --------------- Follower.create(user=user_admin, follower=user_test) # -------------------- 测试分类功能 -------------- logger.debug(""" 版块分类 docker: docker文章 registry: registry文章、私有hub、images分享, dockerfile分享 docker集群: docker集群文章 """) postcategory0 = PostCategory.create(name='docker', str='docker') postcategory1 = PostCategory.create(name='registry', str='registry') postcategory2 = PostCategory.create(name='docker集群', str='docker-cluster') posttopic0 = PostTopic.create(category=postcategory0, name='docker文章', str='docker-article') posttopic1 = PostTopic.create(category=postcategory1, name='registry文章', str='registry-article') posttopic2 = PostTopic.create(category=postcategory1, name='私有hub', str='private-hub') posttopic3 = PostTopic.create(category=postcategory1, name='image分享', str='image-share') posttopic4 = PostTopic.create(category=postcategory1, name='dockerfile分享', str='dockerfile-share') posttopic5 = PostTopic.create(category=postcategory2, name='docker集群文章', str='docker-cluster-article') posttopic10 = PostTopic.create(name='通知', str='notice') posttopic11 = PostTopic.create(name='讨论', str='discussion') # ---------------- 测试新文章 -------------- post = Post.create( topic=posttopic0, title='test', content=tmp_post, user=user_admin ) # ---------------- 测试通知 -------------- Notification.new_post(post) # ------------测试新回复-------------- postreply = PostReply.create( post=post, user=user_test, content='test' ) post.update_latest_reply(postreply) # ---------------- 测试Blog -------------- bpc0 = BlogPostCategory.create(name='Tornado', str='Tornado') bp0 = BlogPost.create(title='Tornado', category=bpc0, content='Tornado content') BlogPostLabel.add_post_label('python,tornado', bp0) # ---------------- 测试chat -------------- chat_log_0 = ChatLog.create(me=user_admin, other=user_test, content='self>other') chat_log_0 = ChatLog.create(me=user_test, other=user_admin, content='other>self')
#encoding:utf-8 from .image import ImageCaptcha from custor.logger import logger logger.debug('load ImageCaptcha finished...') image_captcha = ImageCaptcha()
def create_test_data(db_mysql): from db.mysql_model.user import User, Profile, Follower from db.mysql_model.post import Post, PostReply, PostCategory, PostTopic, CollectPost from db.mysql_model.common import Notification from db.mysql_model.blog import BlogPost, BlogPostLabel, BlogPostCategory logger.debug("DataBase is not exist, so create test data.") # -------------------- 建表 --------------- db_mysql.create_tables([User, PostCategory, PostTopic, Post, PostReply, CollectPost, Profile, Follower, Notification, BlogPostCategory, BlogPost, BlogPostLabel], safe=True) logger.debug('add user: [admin:admin], [test:test]') user_admin = User.new(username='******', email='*****@*****.**', password='******') user_test = User.new(username='******', email='*****@*****.**', password='******') # -------------------- 测试关注功能 --------------- logger.debug('add follower: [test]->[admin]') Follower.create(user=user_admin, follower=user_test) # -------------------- 测试分类功能 -------------- logger.debug('add postcategory and posttopic:') logger.debug(''' 版块分类 专业: 计算机 学习: 学习资料、考研资料、家教、竞赛 生活: 共享账号、电影资源、常用软件、电脑故障 爱好: 摄影、健身 未分类: 校园通知、讨论 ''') postcategory0 = PostCategory.create(name='学习', str='study') postcategory1 = PostCategory.create(name='专业', str='major') postcategory2 = PostCategory.create(name='生活', str='live') postcategory3 = PostCategory.create(name='爱好', str='hobby') posttopic0 = PostTopic.create(category=postcategory0, name='学习资料', str='study-material') posttopic1 = PostTopic.create(category=postcategory0, name='考研资料', str='study-advance-material') posttopic2 = PostTopic.create(category=postcategory0, name='竞赛', str='study-competition') posttopic3 = PostTopic.create(category=postcategory0, name='请教', str='study-advice') posttopic4 = PostTopic.create(category=postcategory1, name='计算机', str='major-computer') posttopic5 = PostTopic.create(category=postcategory2, name='电影资源', str='live-movie') posttopic6 = PostTopic.create(category=postcategory2, name='共享账号', str='live-account') posttopic7 = PostTopic.create(category=postcategory2, name='电脑故障', str='live-computer-repair') posttopic8 = PostTopic.create(category=postcategory3, name='摄影', str='hobby-photography') posttopic9 = PostTopic.create(category=postcategory3, name='健身', str='hobby-fitness') posttopic10 = PostTopic.create(name='通知', str='notice') posttopic11 = PostTopic.create(name='讨论', str='discussion') # ---------------- 测试新文章 -------------- logger.debug('add post: [SICP换零钱(递归转尾递归)]') post = Post.create( topic=posttopic0, title='SICP换零钱(递归转尾递归)', content=tmp_post, user=user_admin ) # ---------------- 测试通知 -------------- logger.debug('add notice: [admin]->[admin\'s followers]') Notification.new_post(post) # ------------测试新回复-------------- logger.debug('add postreply: [test]->[admin]') postreply = PostReply.create( post=post, user=user_test, content='迭代需要重复利用递归产生的冗余数据' ) post.update_latest_reply(postreply) # ---------------- 测试Blog -------------- logger.debug('add blogpost: [tornado]') bpc0 = BlogPostCategory.create(name='Tornado', str='Tornado') bp0 = BlogPost.create(title='Tornado', category=bpc0, content='Tornado content') BlogPostLabel.add_post_label('python,tornado', bp0)
def create_test_data(db_mysql): from db.mysql_model.user import User, Profile, Follower, ChatLog from db.mysql_model.post import Post, PostReply, PostCategory, PostTopic, CollectPost from db.mysql_model.common import Notification from db.mysql_model.blog import BlogPost, BlogPostLabel, BlogPostCategory logger.debug("DataBase is not exist, so create test data.") # -------------------- 建表 --------------- db_mysql.create_tables([User, ChatLog, PostCategory, PostTopic, Post, PostReply, CollectPost, Profile, Follower, Notification, BlogPostCategory, BlogPost, BlogPostLabel], safe=True) user_admin = User.new(username='******', email='*****@*****.**', password='******') user_test = User.new(username='******', email='*****@*****.**', password='******') # -------------------- 测试关注功能 --------------- Follower.create(user=user_admin, follower=user_test) # -------------------- 测试分类功能 -------------- logger.debug(''' 版块分类 docker: docker文章 registry: registry文章、私有hub、images分享, dockerfile分享 docker集群: docker集群文章 ''') postcategory0 = PostCategory.create(name='docker', str='docker') postcategory1 = PostCategory.create(name='registry', str='registry') postcategory2 = PostCategory.create(name='docker集群', str='docker-cluster') posttopic0 = PostTopic.create(category=postcategory0, name='docker文章', str='docker-article') posttopic1 = PostTopic.create(category=postcategory1, name='registry文章', str='registry-article') posttopic2 = PostTopic.create(category=postcategory1, name='私有hub', str='private-hub') posttopic3 = PostTopic.create(category=postcategory1, name='image分享', str='image-share') posttopic4 = PostTopic.create(category=postcategory1, name='dockerfile分享', str='dockerfile-share') posttopic5 = PostTopic.create(category=postcategory2, name='docker集群文章', str='docker-cluster-article') posttopic10 = PostTopic.create(name='通知', str='notice') posttopic11 = PostTopic.create(name='讨论', str='discussion') # ---------------- 测试新文章 -------------- post = Post.create( topic=posttopic0, title='test', content=tmp_post, user=user_admin ) # ---------------- 测试通知 -------------- Notification.new_post(post) # ------------测试新回复-------------- postreply = PostReply.create( post=post, user=user_test, content='test' ) post.update_latest_reply(postreply) # ---------------- 测试Blog -------------- bpc0 = BlogPostCategory.create(name='Tornado', str='Tornado') bp0 = BlogPost.create(title='Tornado', category=bpc0, content='Tornado content') BlogPostLabel.add_post_label('python,tornado', bp0) # ---------------- 测试chat -------------- chat_log_0 = ChatLog.create(me=user_admin, other=user_test, content='self>other') chat_log_0 = ChatLog.create(me=user_test, other=user_admin, content='other>self')
def create_test_data(db_mysql): from db.mysql_model.user import User, Profile, Follower, ChatMessage from db.mysql_model.post import Post, PostReply, PostCategory, PostTopic, CollectPost from db.mysql_model.common import Notification from db.mysql_model.blog import BlogPost, BlogPostLabel, BlogPostCategory logger.debug("DataBase is not exist, so create test data.") # -------------------- 测试用户功能 --------------- user_admin = User.new(username='******', email='*****@*****.**', password='******') user_test = User.new(username='******', email='*****@*****.**', password='******') # -------------------- 测试关注功能 --------------- Follower.create(user=user_admin, follower=user_test) # -------------------- 测试分类功能 -------------- logger.debug(''' 版块分类 专业: 计算机 学习: 学习资料、考研资料、家教、竞赛 生活: 共享账号、电影资源、常用软件、电脑故障 爱好: 摄影、健身 未分类: 校园通知、讨论 ''') postcategory0 = PostCategory.create(name='分类', str='live') posttopic0 = PostTopic.create(category=postcategory0, name='爱学习', str='live-study') posttopic1 = PostTopic.create(category=postcategory0, name='爱生活', str='live-life') posttopic2 = PostTopic.create(category=postcategory0, name='爱管“闲事”', str='live-thing') posttopic10 = PostTopic.create(name='通知', str='notice') posttopic11 = PostTopic.create(name='讨论', str='discussion') # ---------------- 测试新文章 -------------- post = Post.create( topic=posttopic0, title='test', content=tmp_post, user=user_admin ) # ---------------- 测试通知 -------------- Notification.new_post(post) # ------------测试新回复-------------- postreply = PostReply.create( post=post, user=user_test, content='test' ) post.update_latest_reply(postreply) # ---------------- 测试Blog -------------- bpc0 = BlogPostCategory.create(name='Tornado', str='Tornado') bp0 = BlogPost.create(title='Tornado', category=bpc0, content='Tornado content') BlogPostLabel.add_post_label('python,tornado', bp0) # ---------------- 测试chat -------------- chat_log_0 = ChatMessage.create(sender=user_admin, receiver=user_test, content='self>other') chat_log_0 = ChatMessage.create(sender=user_test, receiver=user_admin, content='other>self')