X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Fgnunet-qr.py.in;h=ced7a5441155a0222c8ddcaa0c3506b6ef9155f9;hb=0ed9622f1a7adf7b7e429b29c1245f0fa6420004;hp=086f6ae84eb22b2da702d7e27e5610a6f498fb6e;hpb=f1b32958e42714ef3200563493f15dc698d837c2;p=oweals%2Fgnunet.git diff --git a/src/util/gnunet-qr.py.in b/src/util/gnunet-qr.py.in index 086f6ae84..ced7a5441 100755 --- a/src/util/gnunet-qr.py.in +++ b/src/util/gnunet-qr.py.in @@ -1,67 +1,108 @@ #!@PYTHON@ import sys import getopt +import subprocess from sys import argv try: - import zbar + import zbar except ImportError as e: - print 'Cannot run gnunet-qr, please install zbar-python' - sys.exit (1) + 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\ + -v, --verbose be verbose\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__': - # Parse arguments - try: - opts, args = getopt.gnu_getopt(sys.argv[1:], "hd:", ["help", "device"]) - except getopt.GetoptError as e: - help () - print str (e) - exit (1) - - device = '/dev/video0' - for o,a in opts: - if o in ("-h", "--help"): - help () - sys.exit (0) - elif o in ("-d", "--device"): - device = a - # create a Processor - proc = zbar.Processor() + configuration = '' + device = '/dev/video0' + url = '' + verbose = False + silent = False + # Parse arguments + try: + opts, args = getopt.gnu_getopt(sys.argv[1:], "c:hd:sv", ["config","help", "device","silent","verbose"]) + 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 + elif o in ("-v", "--verbose"): + verbose = True + if (True == verbose): + print 'Initializing' + # create a Processor + proc = zbar.Processor() - # configure the Processor - proc.parse_config('enable') + # 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 - 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 + # initialize the Processor + try: + if (True == verbose): + print 'Opening video device ' + device + proc.init(device) + except Exception as e: + print 'Failed to open device ' + device + exit (1) + + # enable the preview window + #if (True == silent): + # proc.visible = True + #else: + # proc.visible = False + + proc.visible = True + # read at least one barcode (or until window closed) + try: + if (True == verbose): + print 'Capturing' + 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 + if (True == verbose): + print 'Found ', symbol.type, ' symbol ', '"%s"' % symbol.data + args = list() + args.append("gnunet-uri") + if (configuration != ''): + args.append (str("-c " + str(configuration))) + args.append (str(symbol.data)) + cmd = '' + for a in args: + cmd += " " + str(a) + if (verbose): + print 'Running `' + cmd +'`' + res=subprocess.call(args) + if (0 != res): + print 'Failed to add URI ' + str(symbol.data) + else: + print 'Added URI ' + str(symbol.data) + exit (res) + exit (1)