cooking module

AIU - holds all cooking module processes
 avatar
unknown
python
a month ago
12 kB
8
Indexable
import main_messages

from rich.console import Console
from rich.table import Table

console = Console()

# ----------------------------------------------------------------------------------------------------------------------------------#
def Teaspoons_to_Tablespoons(tea_tab):
    return tea_tab / 3

def Cups_to_Milliliters(cups):
    return cups * 236.588

def Ounces_to_Grams(ounces):
    return ounces * 28.3495

def Liters_to_Quarts(liters):
    return liters * 1.05669

# ----------------------------------------------------------------------------------------------------------------------------------#
def cooking_conversion_menu():
    main_messages.separator()
    table = Table(title="", show_lines=True)
    table.add_column("🍳  Cooking Measurements", justify="left", style="cyan", no_wrap=True)
    
    table.add_row("[1] Teaspoons ➡️   Tablespoons")
    table.add_row("[2] Cups ➡️   Milliliters")
    table.add_row("[3] Ounces ➡️   Grams")
    table.add_row("[4] Liters ➡️   Quarts")
    table.add_row("[red][5] 🚪 Return to Main Menu[/red]")

    console.print(table)
    

# ----------------------------------------------------------------------------------------------------------------------------------#
def cooking_conversion_confirm():
    
    table = Table(title="", show_lines=True)
    table.add_column("ℹ️ Would you like to make another computation?", justify="left", style="cyan", no_wrap=True)
    
    table.add_row("[1] ✅ [green]Yes[/green]")
    table.add_row("[2] 🚪 [red]Return to Menu[/red]")

    console.print(table)

# ----------------------------------------------------------------------------------------------------------------------------------#
def cooking_4_select():
 
            
            try:
                console.print("[green]\n➡️  Enter your selection[/green] [[blue]1[/blue] - [blue]5[/blue]]:")
                cooking_select = int(input("-- "))  

            
            except ValueError:
                console.print("[red]\n❌ Invalid Entry[/red]. Enter a number between 1 and 5!")
                return  

            
            if cooking_select < 1 or cooking_select > 5:
                console.print("[red]\n❌ Out of Range[/red]. Enter a number between 1 and 5!")
                return  

            
            if cooking_select == 5:
                console.print("\n[yellow]🚪 Returning to Main Menu...[/yellow]")
                main_messages.separator()
                return "BACK_MAIN"

# ----------------------------------------------------------------------------------------------------------------------------------#                  
            if cooking_select == 1:
                while True:
                    try:
                        main_messages.separator()
                        tea_tab = float(console.input("[green]➡️  Enter your Teaspoon Measurement[/green]\n-- "))

                        if tea_tab == 0:
                            console.print("\n❌ 0 Teaspoons is still 0 Tablespoons!")
                            continue
                        if tea_tab < 0:
                            console.print("\n❌ Your entry cannot be negative! Enter a valid value!")
                            continue                        
                        
                        main_messages.separator()
                        if tea_tab > 1:
                            console.print(f"\n✅  {tea_tab} Teaspoons is equivalent to {Teaspoons_to_Tablespoons(tea_tab):.2f} Tablespoons")
                        elif tea_tab == 1:
                            console.print(f"\n✅  {tea_tab} Teaspoon is equivalent to {Teaspoons_to_Tablespoons(tea_tab):.2f} Tablespoons")
                        main_messages.separator()

                    except ValueError:
                        console.print("\n[red]\n❌ Invalid Entry[/red]. Enter a valid number.\n")
                        continue

                    
                    while True:  
                        cooking_conversion_confirm()
                        main_messages.separator()

                        try:
                            return_menu = int(input("\n-- "))

                            if return_menu < 1 or return_menu > 2:
                                console.print("\n[red]❌ Out of range[/red]. Please enter [1 or 2].")
                                main_messages.separator()

                            elif return_menu == 1:
                                break  
                            
                            elif return_menu == 2:
                                console.print("\n[yellow]🚪 Returning to Cooking Menu... [/yellow]")
                                return  

                        except ValueError:
                            console.print("\n[red]❌ Invalid entry[/red]. Enter a valid number.")
                            main_messages.separator()

# ----------------------------------------------------------------------------------------------------------------------------------#                    
            if cooking_select == 2:
                while True:
                    try:
                        main_messages.separator()
                        cups = float(console.input("[green]➡️ Enter your Cup measurement:\n[/green]-- "))

                        if cups == 0:
                            console.print("\n❌ 0 Cup is still 0 Milliliters!")
                            continue
                        if cups < 0:
                            console.print("\n❌ Your entry cannot be negative! Enter a valid value!")
                            continue

                        main_messages.separator()
                        if cups > 1:
                            console.print(f"\n✅ {cups} Cups is {Cups_to_Milliliters(cups):.2f} Milliliters\n")
                        elif cups == 1:
                            console.print(f"\n✅ {cups} Cup is {Cups_to_Milliliters(cups):.2f} Milliliters\n")
                        main_messages.separator()

                    except ValueError:
                        console.print("\n[red]\n❌ Invalid selection[/red]. Enter a valid number.\n")
                        continue
                        
                    while True:  
                        cooking_conversion_confirm()
                        main_messages.separator()

                        try:
                            return_menu = int(input("\n-- "))

                            if return_menu < 1 or return_menu > 2:
                                console.print("\n[red]❌ Out of range[/red]. Please enter [1 or 2].")
                                main_messages.separator()

                            elif return_menu == 1:
                                break  
                            
                            elif return_menu == 2:
                                console.print("\n[yellow]🚪 Returning to Cooking Menu... [/yellow]")
                                return  

                        except ValueError:
                            console.print("\n[red]❌ Invalid entry[/red]. Enter a valid number.")
                            main_messages.separator()

# ----------------------------------------------------------------------------------------------------------------------------------#                    
            if cooking_select == 3:
                while True:
                    try:
                        main_messages.separator()
                        ounces = float(console.input("[green]➡️ Enter your Ounce Measurement:\n[/green]-- "))

                        if ounces == 0:
                            console.print("\n❌ 0 Ounce is still 0 Grams!")
                            continue
                        if ounces < 0:
                            console.print("\n❌ Your entry cannot be negative! Enter a valid value!")
                            continue

                        main_messages.separator()
                        if ounces > 1:
                            console.print(f"\n✅ {ounces} Ounces is {Ounces_to_Grams(ounces):.2f} Grams\n")
                        elif ounces == 1:
                            console.print(f"\n✅ {ounces} Ounce is {Ounces_to_Grams(ounces):.2f} Grams\n")
                        main_messages.separator()


                    except ValueError:
                        console.print("\n[red]\n❌ Invalid selection[/red]. Enter a valid number.\n")
                        continue

                    while True:  
                        cooking_conversion_confirm()
                        main_messages.separator()

                        try:
                            return_menu = int(input("\n-- "))

                            if return_menu < 1 or return_menu > 2:
                                console.print("\n[red]❌ Out of range[/red]. Please enter [1 or 2].")
                                main_messages.separator()

                            elif return_menu == 1:
                                break  
                            
                            elif return_menu == 2:
                                console.print("\n[yellow]🚪 Returning to Cooking Menu... [/yellow]")
                                return  

                        except ValueError:
                            console.print("\n[red]❌ Invalid entry[/red]. Enter a valid number.")
                            main_messages.separator()

# ----------------------------------------------------------------------------------------------------------------------------------#                    
            if cooking_select == 4:
                while True:
                    try:
                        main_messages.separator()
                        liters = float(console.input("[green]➡️ Enter your Liter Measurement:\n[/green]-- "))

                        if liters == 0:
                            console.print("\n❌ 0 Liter is still 0 Quart!")
                            continue
                        if liters < 0:
                            console.print("\n❌ Your entry cannot be negative! Enter a valid value!")
                            continue

                        main_messages.separator()
                        if liters > 1:
                            console.print(f"\n✅ {liters} Liters is {Liters_to_Quarts(liters):.2f} Quarts\n")
                        elif liters == 1:
                            console.print(f"\n✅ {liters} Liter is {Liters_to_Quarts(liters):.2f} Quarts\n")
                        main_messages.separator()

                    except ValueError:
                        console.print("\n[red]\n❌ Invalid selection[/red]. Enter a valid number.\n")
                        continue

                    while True:  
                        cooking_conversion_confirm()
                        main_messages.separator()

                        try:
                            return_menu = int(input("\n-- "))

                            if return_menu < 1 or return_menu > 2:
                                console.print("\n[red]❌ Out of range[/red]. Please enter [1 or 2].")
                                main_messages.separator()

                            elif return_menu == 1:
                                break  
                            
                            elif return_menu == 2:
                                console.print("\n[yellow]🚪 Returning to Cooking Menu... [/yellow]")
                                return  

                        except ValueError:
                            console.print("\n[red]❌ Invalid entry[/red]. Enter a valid number.")
                            main_messages.separator()
Editor is loading...
Leave a Comment