Deepin_使用Python+MySQL创建工作日志记录

Deepin_创建建议工作日志记录

1. 概述

有款跨平台的轻量级小工具,叫uTools,它有些自带的插件——todo,如果设置了全局快捷键,使用todo记录一些日志,备忘,非常完美。

但是uTools在Deepin上启动速度不是很友好,所以我就放弃了(当然win平台还是在用的)。

然后因为是Linux桌面操作系统(Deepin),免不了自己倒腾一下啦。

2. 倒腾过程

2.1 环境准备

环境很简单,Deepin自带了Python环境,就用Python来写个脚本,把文本信息存入数据库。所以安装数据库,这里不再详述如何安装数据库。

我安装的是MySQL。

总结:

  • Python 系统自带
  • MySQL 使用包管理工具安装sudo apt-get

2.2 创建数据库

安装好MySQL之后,创建一个数据库以及表格

create database my_work;
use my_work;
CREATE TABLE `t_2020_work_log` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `content` varchar(500) DEFAULT NULL,
  `update_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4

表格很简单,就是一个content字段,表示日志/备忘内容,update_time字段表示插入的时间

2.3 编辑脚本

2.3.1 录入脚本

#!/usr/bin/env python2
# -*- coding:utf-8 -*-

import pymysql
import sys
import readline

def connect_my():
    return pymysql.connect(host='localhost',port=3306,user='数据库账号',password='数据库密码',database='my_work')

def insert_sql(name):
    conn = connect_my()
    cur = conn.cursor()
    try:
        sql_str = """
            insert into t_2020_work_log(`content`) values("%s")
        """ % name
        cur.execute(sql_str)
        conn.commit()
    except Exception:# as e:
        conn.rollback()
    finally:
        cur.close()
        conn.close()


print("本周工作记录(回车键结束输入):")
i = 1
aaa = list()
try:
    while True:
        content=raw_input(str(i)+":")
        if not content:
            break
        else:
            aaa.append(str(i)+":"+content)
            i += 1
    if aaa:
        insert_sql(";".join(aaa))
    else:
        pass
except KeyboardInterrupt:
    print("终止输入,退出")

2.3.2 报告脚本

#!/usr/bin/env python2
# -*- coding:utf-8 -*-
import pymysql

def connect_my():
    return pymysql.connect(host='localhost',port=3306,user='账号',password='密码',database='my_work')

def select_all():
    conn = connect_my()
    cur = conn.cursor()
    sql_str = """ select content from t_2020_work_log;""" 
    cur.execute(sql_str)
    data=cur.fetchall()
    cur.close()
    conn.close()
    return data

for info in select_all():
    for a in "".join(info).split(";"):
        print(a)
    print("*****************************************************")

2.4 配置快捷

Deepin设置全局快捷键,把上述两个脚本,设置快捷键

快捷键命令:

#工作报告
deepin-terminal -m maximize -l "one light" -e python /home/liwl/.myscripts/work_report.py 
#工作记录
deepin-terminal -m maximize -l "one light" -e python /home/liwl/.myscripts/work_record.py
原文地址:https://www.cnblogs.com/liwanliangblog/p/13524474.html