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
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
@ -58,7 +57,7 @@ target/
|
|||
# ConfigFile
|
||||
app/config.py
|
||||
|
||||
# Do not add db file
|
||||
# Do not add database file
|
||||
*.db
|
||||
|
||||
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