Module csw.SemesterId
Classes
class Semester (*args, **kwds)-
Expand source code
class Semester(Enum): A = 1 B = 2Create a collection of name/value pairs.
Example enumeration:
>>> class Color(Enum): ... RED = 1 ... BLUE = 2 ... GREEN = 3Access them by:
- attribute access:
Color.RED
- value lookup:
Color(1)
- name lookup:
Color['RED']
Enumerations can be iterated over, and know how many members they have:
>>> len(Color) 3>>> list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
Ancestors
- enum.Enum
Class variables
var A-
The type of the None singleton.
var B-
The type of the None singleton.
class SemesterId (year: int,
semester: Semester)-
Expand source code
@dataclass class SemesterId: """ Represents a unique semester id Args: year (int): year for semester semester (Semester): observing semester """ year: int semester: Semester def __str__(self): return f"{self.year}{self.semester.name}" @staticmethod def _parseSemester(semesterStr: str) -> Semester: if not semesterStr in Semester.__members__: semesters = ", ".join(Semester.__members__.keys()) raise ValueError( f"Failed to parse semester {semesterStr}: {semesterStr} is not a member of Enum ({semesters})") return Semester[semesterStr] @classmethod def make(cls, semesterId: str) -> Self: n = len(semesterId) - 1 yearStr, semesterStr = semesterId[:n], semesterId[n:] if not (yearStr.isnumeric()): raise ValueError(f"{yearStr} should be valid year") year = int(yearStr) semester = cls._parseSemester(semesterStr) return SemesterId(year, semester)Represents a unique semester id
Args
year:int- year for semester
semester:Semester- observing semester
Static methods
def make(semesterId: str) ‑> Self
Instance variables
var semester : Semester-
The type of the None singleton.
var year : int-
The type of the None singleton.