import subprocess import tempfile from bureau import Bureau, add_api class Photography(Bureau): """ The Photography dept. provides document camera and other image capture services for the Office. """ name = "Photography Dept." prefix = "PX" version = 0 def __init__(self): Bureau.__init__(self) @add_api("photo", "Get Document Photo") def print_fortune(self, data): """ Takes a photograph using the document camera. Returns the file name. """ try: cb = data["callback"] except KeyError as e: print(e) # TODO: this should log a real error return tmpimg = tempfile.NamedTemporaryFile(suffix=".jpg", delete=False) tmpimg.close() cmd = "fswebcam --jpeg 95 --no-banner --resolution 1920x1080 -D 0.5 " cmd += "-F 2 " + tmpimg.name subprocess.check_output(cmd.split()) self.send(cb, {"photo": tmpimg.name}) if __name__ == "__main__": px = Photography() px.run()