def verbose_report_results(ibs, qaids, qaid2_qres_vsone, qaid2_qres_vsmany): for qaid in qaids: qres_vsone = qaid2_qres_vsone[qaid] qres_vsmany = qaid2_qres_vsmany[qaid] if qres_vsmany is not None: vsmanyinspectstr = qres_vsmany.get_inspect_str(ibs=ibs, name_scoring=True) print(ut.msgblock('VSMANY-INITIAL-RESULT qaid=%r' % (qaid,), vsmanyinspectstr)) if qres_vsone is not None: vsoneinspectstr = qres_vsone.get_inspect_str(ibs=ibs, name_scoring=True) print(ut.msgblock('VSONE-VERIFIED-RESULT qaid=%r' % (qaid,), vsoneinspectstr))
def interactive_commandline_prompt(msg, decisiontype): prompt_fmtstr = ut.codeblock(''' Accept system {decisiontype} decision? ========== {msg} ========== * press ENTER to ACCEPT * enter {no_phrase} to REJECT * enter {embed_phrase} to embed into ipython * any other inputs ACCEPT system decision * (input is case insensitive) ''') ans_list_embed = ['cmd', 'ipy', 'embed'] ans_list_no = ['no', 'n'] #ans_list_yes = ['yes', 'y'] prompt_str = prompt_fmtstr.format( no_phrase=ut.conj_phrase(ans_list_no), embed_phrase=ut.conj_phrase(ans_list_embed), msg=msg, decisiontype=decisiontype, ) prompt_block = ut.msgblock('USER_INPUT', prompt_str) ans = input(prompt_block).lower() if ans in ans_list_embed: ut.embed() #print(ibs2.get_dbinfo_str()) #qreq_ = ut.search_stack_for_localvar('qreq_') #qreq_.normalizer elif ans in ans_list_no: return False else: return True
def verbose_report_results(ibs, qaids, qaid2_qres_vsone, qaid2_qres_vsmany): for qaid in qaids: qres_vsone = qaid2_qres_vsone[qaid] qres_vsmany = qaid2_qres_vsmany[qaid] if qres_vsmany is not None: vsmanyinspectstr = qres_vsmany.get_inspect_str(ibs=ibs, name_scoring=True) print( ut.msgblock('VSMANY-INITIAL-RESULT qaid=%r' % (qaid, ), vsmanyinspectstr)) if qres_vsone is not None: vsoneinspectstr = qres_vsone.get_inspect_str(ibs=ibs, name_scoring=True) print( ut.msgblock('VSONE-VERIFIED-RESULT qaid=%r' % (qaid, ), vsoneinspectstr))
def checkinfo_wrapper(*args, **kwargs): suggested_fix = '' funcname = get_funcname(func) packagename = funcname.replace('_version', '') pipname_ = pipname if pipname is not None else packagename try: infodict = func(*args, **kwargs) except ImportError as ex: infodict = module_stdinfo_dict(None, name=pipname_) suggested_fix = 'pip install ' + pipname_ if not sys.platform.startswith('win32'): suggested_fix = 'sudo ' + suggested_fix return False, 'None', target, infodict, ut.formatex(ex), suggested_fix except Exception as ex: infodict = module_stdinfo_dict(None, name=pipname_) return False, 'None', target, infodict, ut.formatex(ex), 'Some unknown error in ' + packagename current_version = infodict['__version__'] # Build status text msg = ut.dict_str(infodict, strvals=True) msg += '\n' + '%s: %r >= (target=%r)?' % (funcname, current_version, target) statustext = ut.msgblock(infodict['__name__'], msg) # Check if passed passed = version_ge_target(current_version, target) # Suggest possible fix if not passed: suggested_fix = 'pip install ' + infodict['__name__'] + ' --upgrade' if not sys.platform.startswith('win32'): suggested_fix = 'sudo ' + suggested_fix return passed, current_version, target, infodict, statustext, suggested_fix
def interactive_commandline_prompt(msg, decisiontype): prompt_fmtstr = ut.codeblock( ''' Accept system {decisiontype} decision? ========== {msg} ========== * press ENTER to ACCEPT * enter {no_phrase} to REJECT * enter {embed_phrase} to embed into ipython * any other inputs ACCEPT system decision * (input is case insensitive) ''' ) ans_list_embed = ['cmd', 'ipy', 'embed'] ans_list_no = ['no', 'n'] #ans_list_yes = ['yes', 'y'] prompt_str = prompt_fmtstr.format( no_phrase=ut.conj_phrase(ans_list_no), embed_phrase=ut.conj_phrase(ans_list_embed), msg=msg, decisiontype=decisiontype, ) prompt_block = ut.msgblock('USER_INPUT', prompt_str) ans = input(prompt_block).lower() if ans in ans_list_embed: ut.embed() #print(ibs2.get_dbinfo_str()) #qreq_ = ut.search_stack_for_localvar('qreq_') #qreq_.normalizer elif ans in ans_list_no: return False else: return True
def devmain(): """ The Developer Script A command line interface to almost everything -w # wait / show the gui / figures are visible --cmd # ipython shell to play with variables -t # run list of tests Examples: """ helpstr = ut.codeblock( ''' Dev is meant to be run as an interactive script. The dev.py script runs any test you regiter with @devcmd in any combination of configurations specified by a Config object. Dev caches information in order to get quicker results. # FIXME: Provide quicker results # FIXME: len(line) ''') INTRO_TITLE = 'The dev.py Script' #INTRO_TEXT = ''.join((ut.bubbletext(INTRO_TITLE, font='cybermedium'), helpstr)) INTRO_TEXT = ut.bubbletext(INTRO_TITLE, font='cybermedium') INTRO_STR = ut.msgblock('dev.py Intro', INTRO_TEXT) EXAMPLE_STR = ut.msgblock('dev.py Examples', ut.codeblock(EXAMPLE_TEXT)) if ut.NOT_QUIET: print(INTRO_STR) if ut.get_argflag(('--help', '--verbose')): print(EXAMPLE_STR) CMD = ut.get_argflag('--cmd') NOGUI = not ut.get_argflag('--gui') if len(sys.argv) == 1: print('Run dev.py with arguments!') sys.exit(1) # Run Precommands run_devprecmds() # # # Run IBEIS Main, create controller, and possibly gui print('++dev') main_locals = ibeis.main(gui=ut.get_argflag('--gui')) #utool.set_process_title('IBEIS_dev') # # # Load snippet variables SNIPPITS = True and CMD if SNIPPITS: snippet_locals = dev_snippets(main_locals) snippet_execstr = utool.execstr_dict(snippet_locals, 'snippet_locals') exec(snippet_execstr) # # # Development code RUN_DEV = True # RUN_DEV = '__IPYTHON__' in vars() if RUN_DEV: dev_locals = run_dev(main_locals['ibs']) dev_execstr = utool.execstr_dict(dev_locals, 'dev_locals') exec(dev_execstr) command = ut.get_argval('--eval', type_=str, default=None) if command is not None: result = eval(command, globals(), locals()) print('result = %r' % (result,)) #ibs.search_annot_notes('360') # # # Main Loop (IPython interaction, or some exec loop) #if '--nopresent' not in sys.argv or '--noshow' in sys.argv: ut.show_if_requested() if ut.get_argflag(('--show', '--wshow')): pt.present() main_execstr = ibeis.main_loop(main_locals, ipy=(NOGUI or CMD)) exec(main_execstr) # # # Memory profile if ut.get_argflag('--memprof'): utool.print_resource_usage() utool.memory_profile() print('exiting dev')
def devmain(): """ The Developer Script A command line interface to almost everything -w # wait / show the gui / figures are visible --cmd # ipython shell to play with variables -t # run list of tests Examples: """ helpstr = ut.codeblock(''' Dev is meant to be run as an interactive script. The dev.py script runs any test you regiter with @devcmd in any combination of configurations specified by a Config object. Dev caches information in order to get quicker results. # FIXME: Provide quicker results # FIXME: len(line) ''') INTRO_TITLE = 'The dev.py Script' #INTRO_TEXT = ''.join((ut.bubbletext(INTRO_TITLE, font='cybermedium'), helpstr)) INTRO_TEXT = ut.bubbletext(INTRO_TITLE, font='cybermedium') INTRO_STR = ut.msgblock('dev.py Intro', INTRO_TEXT) EXAMPLE_STR = ut.msgblock('dev.py Examples', ut.codeblock(EXAMPLE_TEXT)) if ut.NOT_QUIET: print(INTRO_STR) if ut.get_argflag(('--help', '--verbose')): print(EXAMPLE_STR) CMD = ut.get_argflag('--cmd') NOGUI = not ut.get_argflag('--gui') if len(sys.argv) == 1: print('Run dev.py with arguments!') sys.exit(1) # Run Precommands run_devprecmds() # # # Run IBEIS Main, create controller, and possibly gui print('++dev') main_locals = ibeis.main(gui=ut.get_argflag('--gui')) #utool.set_process_title('IBEIS_dev') # # # Load snippet variables SNIPPITS = True and CMD if SNIPPITS: snippet_locals = dev_snippets(main_locals) snippet_execstr = utool.execstr_dict(snippet_locals, 'snippet_locals') exec(snippet_execstr) # # # Development code RUN_DEV = True # RUN_DEV = '__IPYTHON__' in vars() if RUN_DEV: dev_locals = run_dev(main_locals['ibs']) dev_execstr = utool.execstr_dict(dev_locals, 'dev_locals') exec(dev_execstr) command = ut.get_argval('--eval', type_=str, default=None) if command is not None: result = eval(command, globals(), locals()) print('result = %r' % (result, )) #ibs.search_annot_notes('360') # # # Main Loop (IPython interaction, or some exec loop) #if '--nopresent' not in sys.argv or '--noshow' in sys.argv: ut.show_if_requested() if ut.get_argflag(('--show', '--wshow')): pt.present() main_execstr = ibeis.main_loop(main_locals, ipy=(NOGUI or CMD)) exec(main_execstr) # # # Memory profile if ut.get_argflag('--memprof'): utool.print_resource_usage() utool.memory_profile() print('exiting dev')