You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.7 KiB

import copy
import sys
from quad_dialog import message,dicter
import datetime
import sqlite3
import pandas
from decimal import Decimal as D
import shutil
from send2trash import send2trash
import gc
def test():
con = sqlite3.connect('test.db')
cur = con.cursor()
date = '2018-08-18'
# print(date)
quad_links = list(row[0] for row in cur.execute('SELECT link FROM links ORDER BY id'))
quad_parts_base = pandas.read_sql('SELECT * FROM names',con).to_dict('records')
current = copy.deepcopy(quad_parts_base)
complete = None
while not complete:
complete = pandas.read_sql('SELECT * FROM parts where date == "{}"'.format(date),con).to_dict('records')
if not complete:
reset()
# print(complete)
for item in current:
name = item['name']
link = item['link']
# print(link)
item['product_name'] = complete[link]['product_name']
item['price'] = round(D(complete[link]['price']),2)
item['time'] = complete[link]['time']
print(current)
bought = message(quad_parts_base,current)
quad_parts_base = dicter(quad_parts_base)
for key,is_purchased in bought.items():
if is_purchased:
# print(key)
try:
if quad_parts_base[key]['count'] > 1:
cur.execute('UPDATE names SET count = count - 1 WHERE name == ?',(key,))
else:
cur.execute('UPDATE names SET purchased = 1 WHERE name == ?',(key,))
except:
print(quad_parts_base)
con.commit()
con.close()
def reset():
try:
send2trash('test.db')
except:
pass
shutil.copy('quadparts.db','test.db')