File: tracks.py

package info (click to toggle)
python-moderngl-window 3.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 69,096 kB
  • sloc: python: 12,076; makefile: 21
file content (33 lines) | stat: -rw-r--r-- 663 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"""
Registry for rocket tracks
"""

from rocket.tracks import Track


class Tracks:
    """Registry for requested rocket tracks"""

    def __init__(self) -> None:
        self.tacks: list[Track] = []
        self.track_map: dict[str, Track] = {}

    def get(self, name: str) -> Track:
        """
        Get or create a Track object.

        :param name: Name of the track
        :return: Track object
        """
        name = name.lower()
        track = self.track_map.get(name)

        if not track:
            track = Track(name)
            self.tacks.append(track)
            self.track_map[name] = track

        return track


tracks = Tracks()