Spaces:
Sleeping
Sleeping
File size: 4,053 Bytes
f1f2090 5dedebd f1f2090 9492e32 eb8dea9 9492e32 f1f2090 9492e32 eb8dea9 9492e32 eb8dea9 9492e32 f1f2090 eb8dea9 5dedebd f1f2090 6b4e7c6 f1f2090 f13c4bb f1f2090 6b4e7c6 eb8dea9 f1f2090 6b4e7c6 f13c4bb 5dedebd f13c4bb eb8dea9 f13c4bb 5dedebd 6b4e7c6 eb8dea9 f1f2090 6b4e7c6 9492e32 f1f2090 eb8dea9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
import sqlite3
import sys
from util.debug import debug_print
from draw_db import draw_lists, min_max_list, up_down_list
from util.date_util import format_date
def get_filename(file_obj):
return file_obj.name
def read_db(db_file):
db_name = get_filename(db_file)
debug_print('read_db, db_name = ', db_name)
return read_section(db_name, 'tb_section', '')
def read_section(db_name, tb_name='tb_section', section_id=''):
res_fig = None
debug_print('read_section, db_name = ', db_name, ', tb_name = ', tb_name, ', section_id = ', section_id)
conn = sqlite3.connect(db_name)
if not tb_name:
table_cursor = conn.cursor()
table_cursor.execute(' SELECT name FROM sqlite_master WHERE type=\'table\'; ')
table_names = table_cursor.fetchall()
print('table_names = ', str(table_names))
return
if not section_id:
section_cursor = conn.execute(' SELECT section_id, section_date, section_end_date FROM ' + tb_name)
for section_row in section_cursor:
section_id = section_row[0]
section_date = section_row[1]
section_end_date = section_row[2]
print('section_id = ', section_id, ', section_date = ', format_date(section_date), ', section_end_date = ',
format_date(section_end_date))
res_fig = read_sample(conn, section_id, tb_name)
else:
res_fig = read_sample(conn, section_id, tb_name)
conn.close()
return res_fig
def read_sample(conn, section_id, tb_name):
sql_str = ' SELECT section_id, _sample_id, _sample_end_id, section_date, section_end_date FROM ' + str(
tb_name) + ' WHERE section_id == ' + str(section_id)
section_cursor = conn.execute(sql_str)
for section_row in section_cursor:
section_id = section_row[0]
_sample_id = section_row[1]
_sample_end_id = section_row[2]
section_date = section_row[3]
section_end_date = section_row[4]
debug_print('section_id = ', section_id, ', _sample_id = ', _sample_id, ', _sample_end_id = ',
_sample_end_id)
date_list = []
max_list = []
min_list = []
acc_list = []
light_list = []
screen_list = []
sample_sql = "SELECT _id, date, max, min, acc_max_dx, acc_max_dy, acc_max_dz, avg, max_snoring FROM sample_table WHERE _id >= " + str(
_sample_id) + ' AND ' + ' _id <= ' + str(_sample_end_id)
sample_cursor = conn.execute(sample_sql)
for sample_row in sample_cursor:
_id = sample_row[0]
date = sample_row[1]
_max = sample_row[2]
_min = sample_row[3]
acc_max = sample_row[4] + sample_row[5] + sample_row[6]
light = sample_row[7]
screen = sample_row[8]
debug_print('_id = ', _id, 'date = ', format_date(date))
date_list.append(format_date(date))
max_list.append(_max)
min_list.append(_min)
acc_list.append(acc_max)
light_list.append(light)
screen_list.append(screen)
title_str = str(section_id) + ', ' + str(format_date(section_date)) + ', ' + str(format_date(section_end_date))
if len(light_list) > 0:
light_min = min(light_list)
light_max = max(light_list)
screen_list = min_max_list(screen_list, light_min, light_max)
screen_list = up_down_list(screen_list)
return draw_lists(title_str, date_list, max=max_list, min=min_list, acc=acc_list, screen=screen_list,
light=light_list)
if __name__ == '__main__':
argv = sys.argv[1:]
argc = len(sys.argv[1:])
# print('sys.argv[1:] = ', argv, ', ', str(len(argv)))
if argc < 1:
print('USAGE: python analysis_db.py xxx.db')
exit(1)
db_uri = argv[0] if argc >= 1 else ''
tb_name = argv[1] if argc >= 2 else ''
section_id = argv[2] if argc >= 3 else ''
read_section(db_uri, tb_name, section_id)
|