34 lines
781 B
Python
34 lines
781 B
Python
|
|
|
|
class CameraCommander:
|
|
class InvalidStateException(Exception):
|
|
pass
|
|
|
|
|
|
Cameras = []
|
|
|
|
|
|
def Register(context, camera):
|
|
for c in CameraCommander.Cameras:
|
|
if c.camera.id == camera.id:
|
|
print("[CameraCommander] : Camera ({}) already registered".format(camera.id))
|
|
raise CameraCommander.InvalidStateException()
|
|
CameraCommander.Cameras.append(context)
|
|
print("[CameraCommander] : Camera ({}) registered".format(camera.id))
|
|
|
|
|
|
def GetContext(camera):
|
|
for c in CameraCommander.Cameras:
|
|
if c.camera.id == camera.id:
|
|
return c
|
|
return None
|
|
|
|
|
|
def IsRegistered(context):
|
|
return context in CameraCommander.Cameras
|
|
|
|
|
|
def Remove(context):
|
|
CameraCommander.Cameras.remove(context)
|
|
print("[CameraCommander] : Camera ({}) unregistered".format(context.camera.id))
|