61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
# template.py
|
|
|
|
# used for the examples. these imports can be removed later
|
|
import os
|
|
import time
|
|
|
|
class TEMPLATE:
|
|
def __init__(self, initial_temp_c=25.0):
|
|
# add self.[parameters] here and update method details
|
|
self.title = "Template Utility"
|
|
self.usage = """This template can be used to define the CLASS
|
|
that menu.py will use to generate the utility UI"""
|
|
|
|
self.methods = [
|
|
{
|
|
"name": "os_info",
|
|
"title": "Print OS information",
|
|
"description": "Print basic information from the OS"
|
|
},
|
|
{
|
|
"name": "add_one",
|
|
"title": "Number incrementer with error checking",
|
|
"description": "Add 1 to a number"
|
|
},
|
|
{
|
|
"name": "divide_by_zero",
|
|
"title": "Divide anything by 0",
|
|
"description": "Returns the input divded by 0"
|
|
}
|
|
]
|
|
|
|
def os_info(self, unused_input=""):
|
|
"""Print OS information"""
|
|
return [
|
|
["OS:", "Environment Variables:", "Local Time"], # Header row
|
|
[f"{os.name}", f"{os.getenv('PATH')}", f"{time.localtime()}"]
|
|
]
|
|
|
|
def add_one(self, input):
|
|
"""Number incrementer with error checking!"""
|
|
try:
|
|
input_plus_one = float(input) + 1
|
|
except:
|
|
input_plus_one = "[red][bold]NAN[/bold][/red]"
|
|
return [
|
|
[f"{input} + 1"], # Header row
|
|
[f"{input_plus_one}"]
|
|
]
|
|
|
|
def divide_by_zero(self, input):
|
|
"""Divide anything by 0"""
|
|
return [
|
|
[f"{input} / 0"], # Header row
|
|
["more than 255"]
|
|
]
|
|
|
|
if __name__ == "__main__":
|
|
obj = TEMPLATE()
|
|
# when not using menu.py, direct CLI calls can be handled here
|
|
obj.os_info()
|
|
|