Refactored create_database, put every addition in seperate file
This commit is contained in:
parent
1daa7bfa62
commit
81913d2d1b
7 changed files with 145 additions and 100 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,6 +1,5 @@
|
||||||
# Byte-compiled / optimized / DLL files
|
# Byte-compiled / optimized / DLL files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
|
||||||
|
|
||||||
# C extensions
|
# C extensions
|
||||||
*.so
|
*.so
|
||||||
|
@ -58,7 +57,7 @@ target/
|
||||||
# ConfigFile
|
# ConfigFile
|
||||||
app/config.py
|
app/config.py
|
||||||
|
|
||||||
# Do not add db file
|
# Do not add database file
|
||||||
*.db
|
*.db
|
||||||
|
|
||||||
tmp/
|
tmp/
|
||||||
|
|
|
@ -1,98 +0,0 @@
|
||||||
from models import *
|
|
||||||
from app import db
|
|
||||||
from itertools import product
|
|
||||||
|
|
||||||
|
|
||||||
def recreate_db():
|
|
||||||
db.drop_all()
|
|
||||||
db.create_all()
|
|
||||||
|
|
||||||
feli = User()
|
|
||||||
feli.configure("feliciaan", True, 0)
|
|
||||||
db.session.add(feli)
|
|
||||||
|
|
||||||
destro = User()
|
|
||||||
destro.configure('destro', True, 0)
|
|
||||||
db.session.add(destro)
|
|
||||||
|
|
||||||
iepoev = User()
|
|
||||||
iepoev.configure('iepoev', True, 1)
|
|
||||||
db.session.add(iepoev)
|
|
||||||
# To future developers, add yourself here
|
|
||||||
|
|
||||||
############################################
|
|
||||||
# Chinees autogenerate #
|
|
||||||
############################################
|
|
||||||
zetmelen = ["Nasi", "Bami"]
|
|
||||||
vlezen = ["Rundsvlees", "Varkensvlees"]
|
|
||||||
sauzen = ["Balisaus", "Yu siang saus", "Gon boa saus", "Curry saus", "Oestersaus", "Zwarte pepersaus",
|
|
||||||
"Champignons", "Chinese champignons", "A la Maleisïe"]
|
|
||||||
specials = ["Kippenbolletjes zoetzuur", "varkenbolletjes zoetzuur", "Nazi Babi Pangang", "Bami Babi Pangang",
|
|
||||||
"Diverse groenten met bami(Vegetarisch)", "Diverse groenten met nazi(Vegetarisch)"]
|
|
||||||
|
|
||||||
|
|
||||||
def add_chinees():
|
|
||||||
chinees = Location()
|
|
||||||
chinees.configure("Oceans's Garden", "Zwijnaardsesteenweg 399 9000 Gent, tel: 09/222.72.74", "http://oceangarden.byethost3.com/studentenmenus.html")
|
|
||||||
db.session.add(chinees)
|
|
||||||
|
|
||||||
def chinees_create_entry(zetmeel, vlees="", saus=""):
|
|
||||||
entry = Product()
|
|
||||||
entry.configure(chinees, "{} {} {}".format(zetmeel, vlees, saus).rstrip(), 550)
|
|
||||||
db.session.add(entry)
|
|
||||||
|
|
||||||
for zetmeel, vlees, saus in product(zetmelen, vlezen, sauzen):
|
|
||||||
chinees_create_entry(zetmeel, vlees, saus)
|
|
||||||
|
|
||||||
for special in specials:
|
|
||||||
chinees_create_entry(special)
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
|
|
||||||
############################################
|
|
||||||
# Simpizza autogenerate #
|
|
||||||
############################################
|
|
||||||
pizzas = ['Bolognese de luxe', 'Hawaï', 'Popeye', 'Pepperoni', 'Seafood', 'Hot pizzaaah!!!', 'Salmon delight',
|
|
||||||
'Full option', 'Pitza kebab', 'Multi cheese', '4 Seasons', 'Mega fish', 'Creamy multi cheese',
|
|
||||||
'Green fiësta', 'Chicken bbq', 'Funky chicken', 'Veggie', 'Meat lovers', 'Scampi mampi', 'Tabasco',
|
|
||||||
'Chicken time', 'Meatballs', 'Tuna', 'Anchovy', 'Calzone', 'Bbq meatballs', 'Creamy chicken', 'Hot bolognese']
|
|
||||||
|
|
||||||
|
|
||||||
def add_simpizza():
|
|
||||||
simpizza = Location()
|
|
||||||
simpizza.configure("Sim-pizza", "De Pintelaan 252 9000 Gent, tel: 09/321.02.00", "http://simpizza.be")
|
|
||||||
db.session.add(simpizza)
|
|
||||||
|
|
||||||
for pizza in pizzas:
|
|
||||||
entry = Product()
|
|
||||||
entry.configure(simpizza, pizza, 1195)
|
|
||||||
db.session.add(entry)
|
|
||||||
|
|
||||||
|
|
||||||
def commit():
|
|
||||||
# commit all the things
|
|
||||||
db.session.commit()
|
|
||||||
print("Committing successful")
|
|
||||||
|
|
||||||
locations = {'Ocean\'s Garden': add_chinees, 'Sim-pizza': add_simpizza}
|
|
||||||
|
|
||||||
print('Create database script!')
|
|
||||||
print('=======================\n\n')
|
|
||||||
|
|
||||||
db_key = 'recreate this database now!'
|
|
||||||
input_db = input("To recreate the db type: '" + db_key + "'")
|
|
||||||
if db_key in input_db:
|
|
||||||
print("recreating the database!")
|
|
||||||
recreate_db()
|
|
||||||
for location in locations.values():
|
|
||||||
location()
|
|
||||||
commit()
|
|
||||||
else:
|
|
||||||
print("not recreating the database!")
|
|
||||||
# DID NOT RECREATE ASK IF YOU WANT TO RECREATE THE NEXT ONES
|
|
||||||
for name, function in locations.items():
|
|
||||||
add_location = input("Do you want to add " + name + "? Press: 'Y'")
|
|
||||||
print("Adding " + name)
|
|
||||||
if add_location.lower() in ['y', 'yes']:
|
|
||||||
function()
|
|
||||||
commit()
|
|
20
database/add_admins.py
Normal file
20
database/add_admins.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
from app import db
|
||||||
|
from models import User
|
||||||
|
|
||||||
|
|
||||||
|
def add():
|
||||||
|
db.drop_all()
|
||||||
|
db.create_all()
|
||||||
|
|
||||||
|
feli = User()
|
||||||
|
feli.configure("feliciaan", True, 0)
|
||||||
|
db.session.add(feli)
|
||||||
|
|
||||||
|
destro = User()
|
||||||
|
destro.configure('destro', True, 0)
|
||||||
|
db.session.add(destro)
|
||||||
|
|
||||||
|
iepoev = User()
|
||||||
|
iepoev.configure('iepoev', True, 1)
|
||||||
|
db.session.add(iepoev)
|
||||||
|
# To future developers, add yourself here
|
37
database/add_oceans_garden.py
Normal file
37
database/add_oceans_garden.py
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
from models import Location, Product
|
||||||
|
from app import db
|
||||||
|
from itertools import product
|
||||||
|
|
||||||
|
|
||||||
|
zetmelen = ["Nasi", "Bami"]
|
||||||
|
vlezen = ["Rundsvlees", "Varkensvlees", "Kippenstukkjes"]
|
||||||
|
sauzen = ["Balisaus", "Yu siang saus", "Gon boa saus", "Curry saus", "Oestersaus", "Zwarte pepersaus",
|
||||||
|
"Champignons", "Chinese champignons", "A la Maleisïe"]
|
||||||
|
|
||||||
|
specials = ["Nasi Kippenbolletjes Zoetzuur", "Bami Kippenbolletjes Zoetzuur",
|
||||||
|
"Nasi Varkenbolletjes Zoetzuur", "Bami Varkenbolletjes Zoetzuur",
|
||||||
|
"Nasi Babi Pangang", "Bami Babi Pangang",
|
||||||
|
"Diverse groenten met Bami",
|
||||||
|
"Diverse groenten met Nasi"]
|
||||||
|
|
||||||
|
|
||||||
|
def add():
|
||||||
|
chinees = Location()
|
||||||
|
chinees.configure("Oceans's Garden",
|
||||||
|
"Zwijnaardsesteenweg 399 9000 Gent, tel: 09/222.72.74",
|
||||||
|
"http://oceangarden.byethost3.com/studentenmenus.html")
|
||||||
|
db.session.add(chinees)
|
||||||
|
|
||||||
|
def chinees_create_entry(name):
|
||||||
|
entry = Product()
|
||||||
|
entry.configure(chinees, name, 550)
|
||||||
|
db.session.add(entry)
|
||||||
|
|
||||||
|
def chinees_create_regulat(zetmeel, vlees="", saus=""):
|
||||||
|
chinees_create_entry("{} {} {}".format(zetmeel, vlees, saus).rstrip())
|
||||||
|
|
||||||
|
for z, v, s in product(zetmelen, vlezen, sauzen):
|
||||||
|
chinees_create_regulat(z, v, s)
|
||||||
|
|
||||||
|
for special in specials:
|
||||||
|
chinees_create_entry(special)
|
20
database/add_simpizza.py
Normal file
20
database/add_simpizza.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
from models import Location, Product
|
||||||
|
from app import db
|
||||||
|
|
||||||
|
|
||||||
|
pizzas = ['Bolognese de luxe', 'Hawaï', 'Popeye', 'Pepperoni', 'Seafood', 'Hot pizzaaah!!!',
|
||||||
|
'Salmon delight', 'Full option', 'Pitza kebab', 'Multi cheese', '4 Seasons', 'Mega fish',
|
||||||
|
'Creamy multi cheese', 'Green fiësta', 'Chicken bbq', 'Funky chicken', 'Veggie',
|
||||||
|
'Meat lovers' 'Scampi mampi', 'Tabasco', 'Chicken time', 'Meatballs', 'Tuna', 'Anchovy',
|
||||||
|
'Calzone', 'Bbq meatballs', 'Creamy chicken', 'Hot bolognese']
|
||||||
|
|
||||||
|
|
||||||
|
def add():
|
||||||
|
simpizza = Location()
|
||||||
|
simpizza.configure("Sim-pizza", "De Pintelaan 252 9000 Gent, tel: 09/321.02.00", "http://simpizza.be")
|
||||||
|
db.session.add(simpizza)
|
||||||
|
|
||||||
|
for pizza in pizzas:
|
||||||
|
entry = Product()
|
||||||
|
entry.configure(simpizza, pizza, 1195)
|
||||||
|
db.session.add(entry)
|
67
database/create_database.py
Normal file
67
database/create_database.py
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
from app import db
|
||||||
|
from database import add_oceans_garden, add_admins, add_simpizza
|
||||||
|
|
||||||
|
|
||||||
|
locations = {"Admins": add_admins.add(), "Ocean's Garden": add_oceans_garden.add(), "SimPizza": add_simpizza.add()}
|
||||||
|
yes = ["yes", "y", "Y"]
|
||||||
|
no = ["no", "n", "N"]
|
||||||
|
|
||||||
|
|
||||||
|
# Commit all the things
|
||||||
|
def commit():
|
||||||
|
db.session.commit()
|
||||||
|
print("Committing successful")
|
||||||
|
|
||||||
|
|
||||||
|
def check_if_overwrite():
|
||||||
|
answer = input("Do you want to overwrite the previous database? (y/N) ")
|
||||||
|
return answer in yes
|
||||||
|
|
||||||
|
|
||||||
|
def add_all():
|
||||||
|
for loc in locations.keys():
|
||||||
|
print("Adding {}.".format(loc))
|
||||||
|
locations[loc]()
|
||||||
|
|
||||||
|
|
||||||
|
def recreate_from_scratch():
|
||||||
|
confirmation = "Are you very very sure? (Will delete previous entry's!) (y/N) "
|
||||||
|
check = "I acknowledge any repercussions!"
|
||||||
|
if input(confirmation) in yes and input('Type: "{}" ').format(check) == check:
|
||||||
|
print("Overwriting the database!")
|
||||||
|
add_all()
|
||||||
|
|
||||||
|
|
||||||
|
def add_to_current():
|
||||||
|
available = [loc for loc in locations.keys()]
|
||||||
|
|
||||||
|
def add_numbers():
|
||||||
|
return " ".join(["{}({}), ".format(loc, i) for i, loc in enumerate(available)]).rstrip(", ")
|
||||||
|
|
||||||
|
while input("Do you still want to add something? (Y/n) ") not in no:
|
||||||
|
print("What do you want to add? (Use numbers, or A for all, or C for chancel) ")
|
||||||
|
answer = input("Available: {} : ".format(add_numbers()))
|
||||||
|
if answer == "A":
|
||||||
|
add_all()
|
||||||
|
elif answer == "C":
|
||||||
|
pass
|
||||||
|
elif answer in [str(x) for x in range(len(available))]:
|
||||||
|
answer = int(answer)
|
||||||
|
print("Adding {}.".format(available[answer]))
|
||||||
|
locations[available[answer]]()
|
||||||
|
del available[answer]
|
||||||
|
else:
|
||||||
|
print("Not a valid answer.")
|
||||||
|
print("Thank you for adding, come again!")
|
||||||
|
|
||||||
|
|
||||||
|
def init():
|
||||||
|
print('Database modification script!')
|
||||||
|
print('=============================\n\n')
|
||||||
|
if check_if_overwrite():
|
||||||
|
recreate_from_scratch()
|
||||||
|
else:
|
||||||
|
add_to_current()
|
||||||
|
|
||||||
|
|
||||||
|
init()
|
Loading…
Reference in a new issue