from .exceptions import ErrorException # Make sense of string supposed to contain a set ID def parse_set(set: str, /) -> str: number, _, version = set.partition('-') # Making sure both are integers if version == '': version = 1 try: number = int(number) except Exception: raise ErrorException('Number "{number}" is not a number'.format( number=number, )) try: version = int(version) except Exception: raise ErrorException('Version "{version}" is not a number'.format( version=version, )) # Make sure both are positive if number < 0: raise ErrorException('Number "{number}" should be positive'.format( number=number, )) if version < 0: raise ErrorException('Version "{version}" should be positive'.format( # noqa: E501 version=version, )) return '{number}-{version}'.format(number=number, version=version)