39 lines
863 B
Python
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)
|