zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    创建类以及引用一个类
    修改hosts文件
    微信第三方登录接口开发
    Android定位
    Leetcode 102. Binary Tree Level Order Traversal
    Leetcode 725. Split Linked List in Parts
    Leetcode 445. Add Two Numbers II
    Leetcode 328. Odd Even Linked List
    Leetcode 237. Delete Node in a Linked List
    Leetcode 234. Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/waws1314/p/14614324.html
Copyright © 2011-2022 走看看