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 other bureaus. """ name = "Photography Dept." prefix = "PX" version = 0 def __init__(self): Bureau.__init__(self) @add_api("photo", "Get Document Photo") def photo(self): """ Takes a photograph using the document camera. Returns the file name. """ tmpimg = tempfile.NamedTemporaryFile(suffix=".jpg", delete=False) tmpimg.close() # this is a dirty hack to keep the webcam system calls from hanging cmd1 = "fswebcam --jpeg 95 --no-banner --resolution 320x240 /dev/null" cmd2 = "fswebcam --jpeg 95 --no-banner --resolution 1920x1080 " cmd2 += "-F 2 -S 1" + tmpimg.name subprocess.check_output(cmd1.split()) subprocess.check_output(cmd2.split()) return {"photo": tmpimg.name} def main(): px = Photography() px.run() if __name__ == "__main__": main()