tools.py
import random import datetime url_category_dict = { 1: "深度学习", 2: "前端&后端", 3: "CV&NLP", 4: "爬虫", 5: "其他" } def create_uuid(): # 生成唯一的图片的名称字符串,防止图片显示时的重名问题 nowTime = datetime.datetime.now().strftime("%Y%m%d%H%M%S") # 生成当前时间 randomNum = random.randint(0, 100) # 生成的随机整数n,其中0<=n<=100 if randomNum <= 10: randomNum = str(0) + str(randomNum) uniqueNum = str(nowTime) + str(randomNum) return uniqueNum def get_category_list(mysql_): sql = "select id,category from category" category_list = [] mysql_.cursor.execute(sql, ) category_ = mysql_.cursor.fetchall() for category in category_: category_list.append({"id": category[0], "doc": category[1]}) return category_list def get_article_limit_20(page, mysql_): if page is None: page = 1 id_ = (int(page) - 1) * 20 sticky_list = [] article_list = [] sql = "select * from article limit 20 offset %s" mysql_.cursor.execute(sql, [id_]) results = mysql_.cursor.fetchall() for result in results: id = result[0] title = result[1] author_id = result[2] info = result[3] category_id = result[5] pic_id = result[6] sticky = result[7] create_time = result[8] sql = "select name from author where id = %s" mysql_.cursor.execute(sql, [author_id]) name = mysql_.cursor.fetchone()[0] sql = "select category from category where id = %s" mysql_.cursor.execute(sql, [category_id]) category = mysql_.cursor.fetchone()[0] pic_url = "" if pic_id: sql = "select pic_url from picture where id = %s" mysql_.cursor.execute(sql, [pic_id]) pic_url = mysql_.cursor.fetchone()[0] if sticky: sticky_list.append({ "id": id, "style": 1, "title": title, "author": name, "info": info, "date": create_time, "category": category, "pics": [] }) else: if pic_id: article_list.append({ "id": id, "style": 1, "title": title, "author": name, "info": info, "date": create_time, "category": category, "pic": pic_url }) else: article_list.append({ "id": id, "style": 0, "title": title, "author": name, "category": category, "info": info, "date": create_time, }) return sticky_list, article_list def get_article_info(article_id, mysql_): sql = "select * from article where id = %s" mysql_.cursor.execute(sql, [int(article_id)]) results = mysql_.cursor.fetchall() for result in results: id = result[0] title = result[1] author_id = result[2] info = result[3] content = result[4] category_id = result[5] sticky = result[7] create_time = result[8] sql = "select name from author where id = %s" mysql_.cursor.execute(sql, [author_id]) name = mysql_.cursor.fetchone()[0] sql = "select category from category where id = %s" mysql_.cursor.execute(sql, [category_id]) category = mysql_.cursor.fetchone()[0] article_dict = { "id": id, "style": 1, "title": title, "author": name, "info": info, "content": content, "date": create_time, "category": category, } return article_dict def get_category_article(page, category_id, mysql_): if page is None: page = 1 id_ = (int(page) - 1) * 20 sticky_list = [] article_list = [] sql = "select category from category where id = %s" mysql_.cursor.execute(sql, [category_id]) category = mysql_.cursor.fetchone()[0] sql = "select * from article where category_id = %s limit 20 offset %s" mysql_.cursor.execute(sql, [category_id, id_]) results = mysql_.cursor.fetchall() for result in results: id = result[0] title = result[1] author_id = result[2] info = result[3] pic_id = result[6] sticky = result[7] create_time = result[8] sql = "select name from author where id = %s" mysql_.cursor.execute(sql, [author_id]) name = mysql_.cursor.fetchone()[0] pic_url = "" if pic_id: sql = "select pic_url from picture where id = %s" mysql_.cursor.execute(sql, [pic_id]) pic_url = mysql_.cursor.fetchone()[0] if sticky: sticky_list.append({ "id": id, "style": 1, "title": title, "author": name, "info": info, "date": create_time, "category": category, "pics": [] }) else: if pic_id: article_list.append({ "id": id, "style": 1, "title": title, "author": name, "info": info, "date": create_time, "category": category, "pic": pic_url }) else: article_list.append({ "id": id, "style": 0, "title": title, "author": name, "category": category, "info": info, "date": create_time, }) return sticky_list, article_list def get_prefect_url(mysql_): sql = "select url,name,category from prefect_blog_url" mysql_.cursor.execute(sql, ) results = mysql_.cursor.fetchall() url_dict = {} for result in results: url, name, category = result[0], result[1], result[2] if url_category_dict[int(category)] not in url_dict.keys(): url_dict[url_category_dict[int(category)]] = [] url_dict[url_category_dict[int(category)]].append({"url": url, "name": name}) return url_dict def get_article_by_time(page,mysql_): if page is None: page = 1 id_ = (int(page) - 1) * 30 article_list = [] sql = "select id,title,update_time from article order by update_time desc limit 20 offset %s " mysql_.cursor.execute(sql, [id_]) results = mysql_.cursor.fetchall() for result in results: id = result[0] title = result[1] update_time = result[2] u_time = str(update_time.year) + "-" + str(update_time.month) + "-" + str(update_time.day) article_list.append({"id":id,"title":title,"update_time":u_time}) return article_list if __name__ == '__main__': print(create_uuid())
tools.py