功能测试时很常需要删掉坏掉的资料库纪录,这时就需要重置测资,但每次都开管理工具来做太麻烦了,写个小工具产生好了
自动插入
手动插入
加入命令列argparse分类
dblist = ['cart_items', 'coupon', 'customers', 'messaging_log', 'orders', 'payment_log', 'product_category', 'products', 'shopping_cart']
def askyes():
val = input("Confirm to Do(Y/N):").lower()
if(val == 'y' or val == 'yes'):return True
else:return False
def loadargs():
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(title='资料库控制', description='呼叫资料库命令', dest='subparser_name')
init = subparsers.add_parser('init')
init.add_argument('target', choices=dblist, help='初始化资料库目标')
init.add_argument('-y', '--yes', action='store_true', help='确认执行')
init.set_defaults(func = doinit)
add = subparsers.add_parser('add')
add.add_argument('target', choices=dblist, help='新增纪录')
add.add_argument('-y', '--yes', action='store_true', help='确认执行')
add.set_defaults(func = doadd)
return parser.parse_args()
args = loadargs()
dbpm = DBPm()
print(args)
args.func(dbpm, args)
init sub argparse
def init_product_category(dbpm:DBPm, yes=False):
if(not yes):yes = askyes()
if(not yes):return False
drink_cate = ['酒','茶','果汁','碳酸饮料','咖啡','其他']
drink_decp = ['酒(英语:Alcoholic beverage),其中含有0.5%至96%的酒精(即乙醇)。为人类饮用历史最长的加工饮品之一,由植物发酵制成。', \
'茶,是指利用茶树的叶子所加工制成的饮料,多烹[3]成茶汤饮用,也可以加入食物中调味,也可入中药使用。[4]现代的茶按制作工序主要分爲六大类,绿茶、白茶、黄茶、青茶、红茶、黑茶[5]。茶大多种植在梯田(为了灌溉方便)。', \
'蔬果汁,常简称果汁,是指从新鲜水果或蔬菜榨汁而成的一种饮料。', \
'碳酸饮料又称汽水,是充入二氧化碳气体的软性饮料,其中包括日常汽水,如七喜、可乐、碳酸水及沙士、麦根沙士雪碧等。', \
'咖啡(英语:coffee)是采经过烘焙过程的咖啡豆(咖啡属植物的种子)所制作冲泡的饮料。', \
'如牛奶、豆浆、蜂蜜水、气泡水、运动饮料等.....']
for dc, de in zip(drink_cate, drink_decp):
try:
dbpm.INS_Prod_Cat(dc, de)
except Exception as Err:
print(Err)
return False
return True
def init_products(dbpm:DBPm, yes=False):
if(not yes):yes = askyes()
if(not yes):return False
drink_products = ['可口可乐Zero易开罐330ml(24入)', '可口可乐-易开罐330ml (24入/箱)', '【味丹】激浪汽水-冰晶柠檬风味', '七喜汽水330ml(24入)', '百事可乐 250ml(24入)']
drink_quantity = [99,98,97,96,95]
drink_product_decp = ['此品新旧包装随机出货,如可接受再购买', '新旧包装随机出货,如可接受再购买', '清爽透明系 减糖少负担\n清新柠檬莱姆风味\n顺畅气泡 瞬间振奋', \
'★清凉畅快\n★柠檬口味', '★Dare for more\n★渴望、探索、创造']
drink_product_s_time = []
drink_product_e_time = []
for i in range(len(drink_products)):
if(i<=1):
st, et = dbpm.timedelta_bydays()
drink_product_s_time.append(st)
drink_product_e_time.append(et)
else:
st, et = dbpm.timedelta_bydays(days=730)
drink_product_s_time.append(st)
drink_product_e_time.append(et)
drink_product_cate = '碳酸饮料'
drink_product_price = [288, 288, 519, 309, 249]
for dp,dq,de,dst,det,dpi in zip(drink_products, drink_quantity, drink_product_decp, drink_product_s_time, drink_product_e_time, drink_product_price):
try:
dbpm.INS_Prod(dp, dq, de, dst, det, drink_product_cate, dpi)
except Exception as Err:
print(Err)
return False
return True
def doinit(dbpm:DBPm, args):
r = False
if(args.target == 'product_category'):
print("插入product_category测试资料")
r = init_product_category(dbpm=dbpm, yes=args.yes)
elif(args.target == 'products'):
print("插入products测试资料")
r = init_products(dbpm=dbpm, yes=args.yes)
if(r):print("成功")
else:print("失败")
手动插入
def add_product_category(dbpm:DBPm, yes=False):
try:
cate = input("商品类别:")
decp = input("商品类别说明:")
if(not yes):yes = askyes()
if(not yes):return False
dbpm.INS_Prod_Cat(cate, decp)
except Exception as Err:
print(Err)
return False
return True
def add_products(dbpm:DBPm, yes=False):
try:
p_name = input("商品:")
p_quantity = input("商品库存:")
p_decp = input("商品说明:")
daydiff = int(input("剩余有效天数:"))
p_st, p_et = dbpm.timedelta_bydays(days=daydiff)
p_cate = input("商品类别:")
p_price = int(input("价格:"))
if(not yes):yes = askyes()
if(not yes):return False
dbpm.INS_Prod(p_name, p_quantity, p_decp, p_st, p_et, p_cate, p_price)
except Exception as Err:
print(Err)
return False
return True
接下来几天会在调整一下,把加入购物车/库存连动作出来
>>: 追求JS小姊姊系列 Day19 -- 工具力,原来如此:原型与原型链。
前言依旧被吃了~跟月饼一样(虽然明天才是中秋节XD) ▉前导观念~先理解这两个数值是怎麽评分的~ (...
目录 火焰制作 上一篇实作了简易的粒子系统(水柱),那今天就要实作稍微复杂多层次的粒子系统,那就开...
认识函式 函式是一组定义好的程序叙述。随着程序开发的内容与日俱增,在操作时会有许多相同的程序动作与判...
本系列文章复习了一些业界常考演算法 从中也一再的复习/整理自己所学,厘清一些概念,希望大家经过一系...
以总集篇的设备来说、在把所有视讯线配好、其实还有电源的问题待解决。我随手一拿少说也有↓这麽多变压器、...