48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
import json, pymysql
|
|
cfg = json.load(open('db_config.json'))
|
|
conn = pymysql.connect(host=cfg['host'], port=cfg['port'], user=cfg['user'],
|
|
password=str(cfg['password']), database=cfg['database'], charset='utf8mb4')
|
|
cur = conn.cursor()
|
|
|
|
# 别名池
|
|
variants = ['佳艳','家艳','佳雁','桂艳','嘉艳']
|
|
cards = '%%'.join(['%' + v + '%' for v in variants]) # not used; do per-variant
|
|
like = ' OR '.join(['note LIKE %s OR source LIKE %s OR category LIKE %s']*len(variants))
|
|
params = []
|
|
for v in variants:
|
|
params += [f'%{v}%']*3
|
|
|
|
# family members
|
|
print('===== 家庭成员 =====')
|
|
cur.execute("SELECT id,name,role,is_active FROM family_members")
|
|
for r in cur.fetchall(): print(' ',r)
|
|
|
|
def show(table, where, extra):
|
|
pass
|
|
|
|
# 支出(转给佳艳)
|
|
print()
|
|
print('===== variable_expenses(支出转给佳艳) =====')
|
|
q = f"SELECT id,member_id,recorded_date,amount,category,note FROM variable_expenses WHERE ({like})"
|
|
cur.execute(q, params)
|
|
for r in cur.fetchall():
|
|
print(' ', r)
|
|
|
|
print()
|
|
print('===== income_records(从佳艳收到的收入) =====')
|
|
q = f"SELECT id,member_id,recorded_date,amount,source,frequency,note FROM income_records WHERE ({like}) OR source LIKE '%佳艳%'"
|
|
cur.execute(q, params)
|
|
for r in cur.fetchall():
|
|
print(' ', r)
|
|
|
|
print()
|
|
print('===== fixed_expenses(固定支出涉及佳艳,如定期转款/代付) =====')
|
|
q = f"SELECT id,member_id,category,amount,frequency,note FROM fixed_expenses WHERE ({like})"
|
|
cur.execute(q, params)
|
|
for r in cur.fetchall():
|
|
print(' ', r)
|
|
|
|
conn.close()
|