#!@PYTHON@ import sys import getopt from sys import argv try: import zbar except ImportError as e: print 'Cannot run gnunet-qr, please install zbar-python' sys.exit (1) def help (): print 'gnunet-qr\n\ Scan a QR code using a video device and import\n\ Arguments mandatory for long options are also mandatory for short options.\n\ -c, --config=FILENAME use configuration file FILENAME\n\ -d, --device=DEVICE use device DEVICE\n\ -s, --silent do not show preview windows\n\ -h, --help print this help\n\ Report bugs to gnunet-developers@gnu.org.\n\ GNUnet home page: http://www.gnu.org/software/gnunet/\n\ General help using GNU software: http://www.gnu.org/gethelp/' if __name__ == '__main__': configuration = '' device = '/dev/video0' silent = False # Parse arguments try: opts, args = getopt.gnu_getopt(sys.argv[1:], "c:hd:s", ["config","help", "device","silent"]) except getopt.GetoptError as e: help () print str (e) exit (1) for o,a in opts: if o in ("-h", "--help"): help () sys.exit (0) elif o in ("-c", "--config"): configuration = a elif o in ("-d", "--device"): device = a elif o in ("-s", "--silent"): silent = True # create a Processor proc = zbar.Processor() # configure the Processor proc.parse_config('enable') # initialize the Processor try: proc.init(device) except Exception as e: print 'Failed to open device ' + device exit (1) # enable the preview window if (True == silent): proc.visible = False else: proc.visible = True # read at least one barcode (or until window closed) try: proc.process_one() except Exception as e: # Window was closed without finding code exit (1) # hide the preview window proc.visible = False # extract results for symbol in proc.results: # do something useful with results print 'Found ', symbol.type, ' symbol ', '"%s"' % symbol.data