Seperate components and add basic Flask UI

This commit is contained in:
Lily 2025-03-30 18:39:40 -05:00
parent 3333b1f760
commit 7c6e90a7c6
Signed by: kdj8
SSH key fingerprint: SHA256:SH5tRd0Q+6DeF8CLB683b9+pwf8KZBtVWelzYom88To
4 changed files with 65 additions and 38 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
__pycache__/

39
month_num_convert.py Normal file
View file

@ -0,0 +1,39 @@
# SPDX-License-Identifier: CC0-1.0
class MonthNumConvert:
__months = (
"january",
"february",
"march",
"april",
"may",
"june",
"july",
"august",
"september",
"october",
"november",
"december",
)
# https://example.com/1 -> January
def __num_to_name(self, num):
if (num > 12) or (num < 1):
return None
return self.__months[num - 1].title()
def __name_to_num(self, name):
for i, month in enumerate(self.__months):
if name[0:3].lower() == month[0:3]:
return i + 1
# a is a string
def convert(self, a):
try:
return self.__num_to_name(int(a))
except ValueError:
pass
# So it's not a number
return self.__name_to_num(a)

View file

@ -1,43 +1,7 @@
# SPDX-License-Identifier: CC0-1.0
import unittest
class MonthNumConvert:
__months = (
"january",
"february",
"march",
"april",
"may",
"june",
"july",
"august",
"september",
"october",
"november",
"december",
)
# https://example.com/1 -> January
def __num_to_name(self, num):
if (num > 12) or (num < 1):
return None
return self.__months[num - 1].title()
def __name_to_num(self, name):
for i, month in enumerate(self.__months):
if name[0:3].lower() == month[0:3]:
return i + 1
# a is a string
def convert(self, a):
try:
return self.__num_to_name(int(a))
except ValueError:
pass
# So it's not a number
return self.__name_to_num(a)
from month_num_convert import MonthNumConvert
class TestMonthNumConvert(unittest.TestCase):

23
wsgi.py Normal file
View file

@ -0,0 +1,23 @@
# SPDX-License-Identifier: CC0-1.0
from flask import abort, Flask
from month_num_convert import MonthNumConvert
app = Flask(__name__)
mnc = MonthNumConvert()
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
@app.route("/<something>")
def handle_input(something):
a = mnc.convert(something)
if a == None:
abort(404)
if type(a) == type(1):
a = str(a)
return a