def setopts(args): ''' 根据命令行输入的参数修改全局变量 :param args: 命令行参数列表 :return: ''' try: opts, others = getopt.getopt( args, 'vhk:s:c:o:', ['verbose', 'help', 'keyword=', 'source=', 'count=', 'outdir=']) except getopt.GetoptError as e: logger.error('命令解析失败') logger.error(e) echo.usage() sys.exit(2) glovar.init_option() for o, a in opts: if o in ('-h', '--help'): echo.usage() sys.exit(2) elif o in ('-v', '--verbose'): glovar.set_option('verbose', True) elif o in ('-k', '--keyword'): glovar.set_option('keyword', a) elif o in ('-s', '--source'): glovar.set_option('source', a) elif o in ('-c', '--count'): glovar.set_option('count', int(a)) elif o in ('-o', '--outdir'): glovar.set_option('outdir', a) else: assert False, 'unhandled option'
def set_opts(args): ''' 根据命令行输入的参数修改全局变量 :param args: 命令行参数列表 :return: ''' try: opts, others = getopt.getopt(args, 'vhmk:s:c:o:x:', ['verbose', 'help', 'merge', 'nomerge', 'keyword=', 'source=', 'count=', 'outdir=', 'proxy=']) except getopt.GetoptError as e: logger.error('命令解析失败') logger.error(e) echo.usage() sys.exit(2) for o, a in opts: if o in ('-h', '--help'): echo.usage() sys.exit(2) elif o in ('-v', '--verbose'): glovar.set_option('verbose', True) elif o in ('-k', '--keyword'): glovar.set_option('keyword', a) elif o in ('-s', '--source'): glovar.set_option('source', a) elif o in ('-c', '--count'): c = int(a) if int(a) < 51 else 50 glovar.set_option('count', c) elif o in ('-o', '--outdir'): glovar.set_option('outdir', a) elif o in ('-x', '--proxy'): proxies = { 'http': a, 'https': a} glovar.set_option('proxies', proxies) elif o in ('-m', '--merge'): glovar.set_option('merge', True) elif o in ('--nomerge'): glovar.set_option('merge', False) else: assert False, 'unhandled option'