Files
pybricks-api/pybricks/_instances.py
T
2019-10-18 17:12:16 +02:00

29 lines
663 B
Python

"""Sphinx workaround to document instance attributes such as self.light"""
from .builtins import Speaker, Display, Battery, ColorLight, KeyPad, LightArray
from types import ModuleType
def make_instance(classdef):
"""Make a class instance to look like a module so Sphinx can parse it."""
name = ''
mod = ModuleType(name)
for m in classdef.__dict__.values():
if callable(m):
setattr(mod, m.__name__, m)
return mod
light = make_instance(ColorLight)
lights = make_instance(LightArray)
buttons = make_instance(KeyPad)
battery = make_instance(Battery)
speaker = make_instance(Speaker)
display = make_instance(Display)