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