12months/month_num_convert.py

39 lines
863 B
Python

# 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)