diff --git a/app.py b/app.py index 6f98418..bdc3c23 100644 --- a/app.py +++ b/app.py @@ -16,10 +16,6 @@ def index(): pp(json_file['unit'][0]['bricks']['missing']) return render_template('bootstrap_table.html', title=info_file['set_num']+" - "+info_file['name'], info_file=info_file,inventory_file=inventory_file,json_file=json_file) - - #return render_template('index.html') - -#'Welcome to the Flask App' @app.route('/saveNumber', methods=['POST']) @@ -39,12 +35,9 @@ def save_number(): print(json_file['count']) data = '{"brick" : {"ID":"' + data1 + '","color_name": "' + data2 + '","amount":"' + number + '"}}' - print(data) - print(json.loads(data)) - + json_file['unit'][0]['bricks']['missing'].append(json.loads(data)) - print(json_file['unit'][0]['bricks']) - # Save number to JSON file + with open('./info/'+tmp+'.json', 'w') as dump_file: json.dump(json_file,dump_file) diff --git a/data.json b/data.json deleted file mode 100644 index 0dd5066..0000000 --- a/data.json +++ /dev/null @@ -1 +0,0 @@ -{"number": "10"} \ No newline at end of file diff --git a/lego.py b/lego.py index 9cdc4f2..0868bc1 100644 --- a/lego.py +++ b/lego.py @@ -6,7 +6,7 @@ import rebrick #rebrickable api # json things import json - +from pprint import pprint as pp import requests # request img from web import shutil # save img locally @@ -19,26 +19,44 @@ set_num=sys.argv[1] online_set_num=set_num+"-1" set_path="./sets/" + sys.argv[1] + "/" - -if Path(set_path).is_dir(): - print('Set exists, exitting') - logging.error('Set exists!') - #exit() - +Path('./static/parts').mkdir(parents=True, exist_ok=True) +Path('./info').mkdir(parents=True, exist_ok=True) with open('api','r') as f: api_key = f.read().replace('\n','') rb = rebrick.init(api_key) + + +if Path(set_path).is_dir(): + print('Set exists, exitting') + logging.error('Set exists!') + #exit() + Path(set_path).mkdir(parents=True, exist_ok=True) -Path('./static/parts').mkdir(parents=True, exist_ok=True) -Path('./info').mkdir(parents=True, exist_ok=True) # Get set info response = json.loads(rebrick.lego.get_set(set_num).read()) -with open(set_path+'info.json', 'w', encoding='utf-8') as f: - json.dump(response, f, ensure_ascii=False, indent=4) + +if Path("./info/"+set_num + ".json").is_file(): + + ans = input('Set exists, would you like to add another copy (Y/N)?\n') + if ans.lower() == 'yes' or ans.lower() == 'y': + with open("./info/" + set_num + ".json",'r') as f: + data = json.load(f) + data['count'] = data['count'] + 1 + + tmp = {"location": "","minifigs": "","bricks": {"missing": []}} + + data['unit'].append(tmp) + pp(data) + with open("./info/" + set_num + ".json",'w') as f: + json.dump(data,f,indent = 4) + + else: + with open(set_path+'info.json', 'w', encoding='utf-8') as f: + json.dump(response, f, ensure_ascii=False, indent=4) # save set image to folder set_img_url = response["set_img_url"] @@ -59,16 +77,16 @@ with open(set_path+'inventory.json', 'w', encoding='utf-8') as f: # get part images if not exists for i in response["results"]: - if not Path("./static/parts/"+i["element_id"]+".jpg").is_file(): - res = requests.get(i["part"]["part_img_url"], stream = True) + if not Path("./static/parts/"+i["element_id"]+".jpg").is_file(): + res = requests.get(i["part"]["part_img_url"], stream = True) - if res.status_code == 200: - with open("./static/parts/"+i["element_id"]+".jpg",'wb') as f: - shutil.copyfileobj(res.raw, f) - print('image saved') - else: - print('Image Couldn\'t be retrieved for set ' + set_num + ": " + i["element_id"]) - logging.error(set_num + ": " + i["element_id"]) + if res.status_code == 200: + with open("./static/parts/"+i["element_id"]+".jpg",'wb') as f: + shutil.copyfileobj(res.raw, f) + print('image saved') + else: + print('Image Couldn\'t be retrieved for set ' + set_num + ": " + i["element_id"]) + logging.error(set_num + ": " + i["element_id"]) # read info file with missing pieces diff --git a/set_template.json b/set_template.json index f27dcf7..07139b3 100644 --- a/set_template.json +++ b/set_template.json @@ -1,16 +1,12 @@ { "count": 1, "unit": [ - "location": "", - "minifigs": "", - "bricks": { - "missing": [ - "brick" : { - "ID": , - "color_name": , - "amount": - } - ] - } + { + "location": "", + "minifigs": "", + "bricks": { + "missing": [] + } + } ] -} +} \ No newline at end of file