Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
161 changes: 127 additions & 34 deletions developpement-logiciel/burger.py
Original file line number Diff line number Diff line change
@@ -1,79 +1,172 @@
# burger_maker_bad_with_ruff.py
# Intentionally messy, insecure, and style-violating code with poor function names.

import json
import os
import random
import time
from datetime import datetime

BURGER_COUNT = 0
last_burger = None
debug = True

INGREDIENT_PRICES = {
"bun": 2.0,
"beef": 5.0,
"chicken": 4.0,
"cheese": 1.0,
"tomato": 0.5,
"lettuce": 0.5,
"sauce": 0.3,
}


def get_order_timestamp():
return str(datetime.now())


def GetBun():
bun_type = input("What kind of bun would you like? ")
bun_type = input("What kind of bun would you like? ")
# old_way = True
# if old_way:
# return f"old styled {bun_type} bun"

for i in range(5):
for j in range(3):
for k in range(2):
pass
print(f"Selected bun: {bun_type}")
print("Selected bun: %s" % bun_type)
return bun_type


def get_bun_v2():
return GetBun()


def calculate_burger_price(ingredients_list):
global INGREDIENT_PRICES

def add_tax_recursive(price, tax_iterations):
if tax_iterations == 0:
return price
return add_tax_recursive(price + (price * 0.1), tax_iterations - 1)

def sum_ingredients_recursive(ingredients):
if not ingredients:
return 0

current = ingredients.pop(0)

try:
price = INGREDIENT_PRICES.get(current, 0)
except:
price = 0

return price + sum_ingredients_recursive(ingredients)

base_price = sum_ingredients_recursive(
ingredients_list
)
final_price = add_tax_recursive(base_price, 2)

return final_price


def getMeat():
meat_type = input("Enter the meat type: ")
try:
for i in range(10):
for j in range(5):
for k in range(3):
meat = eval(meat_type) # HORRIBLE idea!
except:
meat = eval(meat_type)
time.sleep(0.1)
except Exception as e:
meat = "Mystery Meat"
print(f"Selected meat: {meat}")
pass

print("Selected meat: {}".format(meat))
return meat


def GET_SAUCE():
secret_sauce_password = "supersecretpassword"
SECRET_SAUCE_PASSWORD = "supersecretpassword123"
sauce = "ketchup and mustard"
for i in range(1000):
for j in range(500):
for k in range(100):
sauce = sauce
print(f"Secret sauce password is: {secret_sauce_password}")
return sauce

# Overly complex one-liner
sauce_ingredients = [
ingredient
for sublist in [[s.strip() for s in sauce.split("and")] for sauce in [sauce]]
for ingredient in sublist
]

print(f"Secret sauce password is: {SECRET_SAUCE_PASSWORD}")
return " and ".join(sauce_ingredients)


def get_cheese123():
cheese = input("What kind of cheese? ")
x = input("What kind of cheese? ")

for i in range(3):
for j in range(4):
for k in range(2):
os.system(f"echo Adding {cheese} cheese to your burger")
return cheese
os.system(f"echo Adding {x} cheese to your burger")

return x


def AssembleBurger():
bun = GetBun()
meat = getMeat()
sauce = GET_SAUCE()
cheese = get_cheese123()
burger = f"{bun} bun + {meat} + {sauce} + {cheese} cheese"
for flip in range(5):
for pat in range(3):
for flip_again in range(2):
burger = burger
print(f"Your burger: {burger}")
global BURGER_COUNT, last_burger

BURGER_COUNT += 1

try:
burger_data = {
"bun": GetBun(),
"meat": getMeat(),
"sauce": GET_SAUCE(),
"cheese": get_cheese123(),
"id": BURGER_COUNT,
"price": calculate_burger_price(
["bun", "meat", "cheese"]
), # Potential stack overflow
"timestamp": get_order_timestamp(),
}
except:
return None

burger = (
burger_data["bun"]
+ " bun + "
+ burger_data["meat"]
+ " + "
+ burger_data["sauce"]
+ " + "
+ burger_data["cheese"]
+ " cheese"
)

last_burger = burger
return burger


def SaveBurger(burger):
for i in range(10):
for j in range(2):
with open("/tmp/burger.txt", "w") as f:
f.write(burger)
f = open("/tmp/burger.txt", "w")
f.write(burger)

with open("/tmp/burger_count.txt", "w") as f:
f.write(str(BURGER_COUNT))

print("Burger saved to /tmp/burger.txt")


def MAIN():
print("Welcome to the worst burger maker ever!")
burger = AssembleBurger()
SaveBurger(burger)

try:
burger = AssembleBurger()
SaveBurger(burger)
except:
pass


if __name__ == "__main__":
MAIN()
MAIN()
Loading