def edit_joy(): global config if config[0]['mk2']: Header = Header_Mk2 else: quit("Unable to configure Joystick on MK1 configuration, convert " \ "to MK2 and try again") menu = qprompt.Menu() for x, y in Header.axis_x.subcon.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['axis_x'] == y: dft = str(x) config[0]['axis_x'] = int(menu.show(msg="Axis-X", dft=dft)) menu = qprompt.Menu() config[0]['x_up'] = \ qprompt.ask_int("X-Up", dft=config[0]['x_up']) config[0]['x_down'] = \ qprompt.ask_int("X-Down", dft=config[0]['x_down']) for x, y in Header.axis_y.subcon.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['axis_y'] == y: dft = str(x) config[0]['axis_y'] = int(menu.show(msg="Axis-Y", dft=dft)) config[0]['y_up'] = \ qprompt.ask_int("Y-Up", dft=config[0]['y_up']) config[0]['y_down'] = \ qprompt.ask_int("Y-Down", dft=config[0]['y_down'])
def edit_joy(): global config menu = qprompt.Menu() for x, y in Header.axis_x.subcon.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['axis_x'] == y: dft = str(x) config[0]['axis_x'] = int(menu.show(msg="Axis-X", dft=dft)) menu = qprompt.Menu() config[0]['x_up'] = \ qprompt.ask_int("X-Up", dft=config[0]['x_up']) config[0]['x_down'] = \ qprompt.ask_int("X-Down", dft=config[0]['x_down']) for x, y in Header.axis_y.subcon.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['axis_y'] == y: dft = str(x) config[0]['axis_y'] = int(menu.show(msg="Axis-Y", dft=dft)) config[0]['y_up'] = \ qprompt.ask_int("Y-Up", dft=config[0]['y_up']) config[0]['y_down'] = \ qprompt.ask_int("Y-Down", dft=config[0]['y_down'])
def local_threshold_prompt(args): r = args block_sz = qprompt.ask_int("Block size") sigma = qprompt.ask_int("Sigma value") r.threshold_method = "local" r.block_sz = block_sz r.sigma = sigma
def edit_arpeggio(): global config if config[0]['mk2']: menu = qprompt.Menu() for x, y in Header.enable.subcon.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['enable'] == y: dft = str(x) config[0]['enable'] = int(menu.show(msg="Enable", dft=dft)) menu = qprompt.Menu() for x, y in Header.division.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['division'] == y: dft = str(x) config[0]['division'] = int(menu.show(msg="Division", dft=dft)) menu = qprompt.Menu() for x, y in Header.mode.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['mode'] == y: dft = str(x) config[0]['mode'] = int(menu.show(msg="Mode", dft=dft)) menu = qprompt.Menu() for x, y in Header.latch.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['latch'] == y: dft = str(x) config[0]['latch'] = int(menu.show(msg="Latch", dft=dft)) menu = qprompt.Menu() for x, y in Header.octaves.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['octaves'] == y: dft = str(x) config[0]['octaves'] = int(menu.show(msg="Octaves", dft=dft)) menu = qprompt.Menu() for x, y in Header.swing.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['swing'] == y: dft = str(x) config[0]['swing'] = int(menu.show(msg="Swing", dft=dft)) config[0]['taps'] = \ qprompt.ask_int("Taps", vld=list(range(2,4)), dft=config[0]['taps']) config[0]['tempo'] = \ qprompt.ask_int("Tempo", dft=config[0]['tempo']) menu = qprompt.Menu() for x, y in Header.clock.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['clock'] == y: dft = str(x) config[0]['clock'] = int(menu.show(msg="Clock", dft=dft))
def edit_pad(pad): global config bank = int((pad - 1) / _PADS) subpad = pad - (_PADS * bank) - 1 menu = qprompt.Menu() for x, y in Pad.type.subcon.ksymapping.items(): menu.add(str(x), y) if config[1][bank][subpad]['type'] == y: dft = str(x) ptype = menu.show(hdr="Pad %d (Bank %s-%d):" % (pad, chr(65 + bank), subpad + 1), msg="Type", dft=dft) config[1][bank][subpad]['type'] = int(ptype) config[1][bank][subpad]['channel'] = \ qprompt.ask_int("Channel", vld=list(range(1,17)), dft=config[1][bank][subpad]['channel']) if ptype == '0': config[1][bank][subpad]['note'] = \ qprompt.ask_int("Note", vld=list(range(0,128)), dft=config[1][bank][subpad]['note']) menu = qprompt.Menu() for x, y in Pad.trigger.subcon.ksymapping.items(): menu.add(str(x), y) if config[1][bank][subpad]['trigger'] == y: dft = str(x) config[1][bank][subpad]['trigger'] = int( menu.show(msg="Trigger", dft=dft)) menu = qprompt.Menu() for x, y in Pad.aftertouch.subcon.ksymapping.items(): menu.add(str(x), y) if config[1][bank][subpad]['aftertouch'] == y: dft = str(x) config[1][bank][subpad]['aftertouch'] = int( menu.show(msg="Aftertouch", dft=dft)) elif ptype == '1': config[1][bank][subpad]['program'] = \ qprompt.ask_int("Program", vld=list(range(0,128)), dft=config[1][bank][subpad]['program']) else: config[1][bank][subpad]['msb'] = \ qprompt.ask_int("MSB", vld=list(range(0,128)), dft=config[1][bank][subpad]['msb']) config[1][bank][subpad]['lsb'] = \ qprompt.ask_int("LSB", vld=list(range(0,128)), dft=config[1][bank][subpad]['lsb'])
def edit_scale(pad, verbose): global config rbank = int((pad - 1) / _PADS) rsubpad = pad - (_PADS * rbank) - 1 menu = qprompt.Menu() x = 0 for y in Scale._SCALE_PATTERNS: menu.add(str(x), y) x = x + 1 stype = menu.show(hdr="Pad %d (Bank %s-%d):" % (pad, chr(65 + rbank), rsubpad + 1), msg="Scale", returns="desc") root = qprompt.ask_int("Note", vld=list(range(0, 128)), dft=config[1][rbank][rsubpad]['note']) count = qprompt.ask_int("Count", vld=[0] + list(range(1, _PTOTAL + 2 - pad)), dft=0) scale = Scale.build_scale(Note.from_midi_num(root), stype) scale_lst = [] for note in scale: scale_lst.append(note.midi_note_number()) if count: while len(scale_lst) < count: root = scale_lst.pop() scale = Scale.build_scale(Note.from_midi_num(root), stype) for note in scale: scale_lst.append(note.midi_note_number()) else: count = len(scale_lst) if pad + count > _PTOTAL: count = _PTOTAL + 1 - pad for note in scale_lst[:count]: bank = int((pad - 1) / _PADS) subpad = pad - (_PADS * bank) - 1 config[1][bank][subpad]['note'] = note if verbose: print("Setting Pad %d (Bank %s-%d) to %d (%s)" % (pad, chr(65 + bank), subpad + 1, note, Note.from_midi_num(note))) pad = pad + 1
def edit_sound(): global config menu = qprompt.Menu() ''' for x,y in Sounds.keys.subcon.subcon.ksymapping.items(): menu.add(str(x),y) if config[4]['keys'] == y: dft = str(x) config[4]['keys'] = int(menu.show(msg="Key Sound", dft=dft)) ''' config[4]['keys'] = \ qprompt.ask_int("Key Sound", vld=list(range(0,128)), dft=config[4]['keys']) ''' for x,y in Sounds.drums.subcon.subcon.ksymapping.items(): menu.add(str(x),y) if config[4]['drums'] == y: dft = str(x) config[4]['drums'] = int(menu.show(msg="Drum Sound", dft=dft)) ''' config[4]['drums'] = \ qprompt.ask_int("Drum Sound", vld=list(range(0,10)), dft=config[4]['drums']) config[4]['filter'] = \ qprompt.ask_int("Filter", vld=list(range(0,128)), dft=config[4]['filter']) config[4]['res'] = \ qprompt.ask_int("Resonence", vld=list(range(0,128)), dft=config[4]['res']) config[4]['reverb'] = \ qprompt.ask_int("Reverb", vld=list(range(0,128)), dft=config[4]['reverb']) config[4]['chorus'] = \ qprompt.ask_int("Chorus", vld=list(range(0,128)), dft=config[4]['chorus']) config[4]['attack'] = \ qprompt.ask_int("Attack", vld=list(range(0,128)), dft=config[4]['attack']) config[4]['release'] = \ qprompt.ask_int("Release", vld=list(range(0,128)), dft=config[4]['release']) config[4]['eq_low'] = \ qprompt.ask_int("EQ Low", vld=list(range(0,128)), dft=config[4]['eq_low']) config[4]['eq_high'] = \ qprompt.ask_int("EQ High", vld=list(range(0,128)), dft=config[4]['eq_high'])
def edit_dial(dial): global config config[1][dial]['midicc'] = \ qprompt.ask_int("CC", vld=list(range(0,128)), dft=config[1][dial]['midicc']) config[1][dial]['max'] = \ qprompt.ask_int("Max", vld=list(range(0,128)), dft=config[1][dial]['max']) config[1][dial]['min'] = \ qprompt.ask_int("Min", vld=list(range(0,128)), dft=config[1][dial]['min'])
def edit_general(): global config config[0]['pchannel'] = \ qprompt.ask_int("Midi Ch for Pads", dft=config[0]['pchannel']) config[0]['dchannel'] = \ qprompt.ask_int("Midi Ch for Dials/Keys", dft=config[0]['dchannel']) menu = qprompt.Menu() for x, y in Header.octave.subcon.ksymapping.items(): menu.add(str(x), y) if config[0]['octave'] == y: dft = str(x) config[0]['octave'] = int(menu.show(msg="Keyboard Octave", dft=dft)) menu = qprompt.Menu()
def edit_general(): global config config[0]['channel'] = \ qprompt.ask_int("Midi Ch for Keys", dft=config[0]['channel']) menu = qprompt.Menu()
def update_value(self, value): """ Prompt the user to input a new value, then save the updated config and return to menu. Determines how to prompt the user by finding the value name passed as argument in one of the lists in the type map. :param value: value name to be updated e.g. minwidth """ desc_str = "Enter new {} (currently {})".format(value, self.config['user'][value]) if value in self.type_map[int]: self.config['user'][value] = str(qprompt.ask_int(desc_str)) elif value in self.type_map[float]: self.config['user'][value] = str(qprompt.ask_float(desc_str)) elif value in self.type_map[str]: self.config['user'][value] = qprompt.ask_str(desc_str) elif value in self.type_map[bool]: desc_str += " y/n" if qprompt.ask_yesno(desc_str): self.config['user'][value] = "yes" else: self.config['user'][value] = "no" self.save_config() self.clear_screen() print('Config saved...')
def edit_dial(dial): global config bank = int((dial - 1) / _DIALS) subdial = dial - (_DIALS * bank) - 1 config[2][bank][subdial]['midicc'] = \ qprompt.ask_int("MidiCC", vld=list(range(0,128)), dft=config[2][bank][subdial]['midicc']) config[2][bank][subdial]['min'] = \ qprompt.ask_int("Min", vld=list(range(0,128)), dft=config[2][bank][subdial]['min']) config[2][bank][subdial]['max'] = \ qprompt.ask_int("Max", vld=list(range(0,128)), dft=config[2][bank][subdial]['max'])
def betting_round(player): # Make bets bet = qprompt.ask_int("Enter a bet amount less than your bank value of " + str(player.memory["bank"]), valid=lambda x: x <= player.memory["bank"]) player.memory["bank"] -= bet player.memory["bet"] = bet qprompt.info("Betted " + str(bet)) qprompt.pause() qprompt.clear()
def edit_pad(pad): global config config[1][pad]['note'] = \ qprompt.ask_int("Note", vld=list(range(0,128)), dft=config[1][pad]['note']) menu = qprompt.Menu() config[1][pad]['program'] = \ qprompt.ask_int("Program", vld=list(range(0,128)), dft=config[1][pad]['program']) config[1][pad]['midicc'] = \ qprompt.ask_int("CC", vld=list(range(0,128)), dft=config[1][pad]['midicc']) config[1][pad]['trigger'] = \ qprompt.ask_int("Trigger", vld=list(range(0,2)), dft=config[1][pad]['trigger'])
def edit_pad(pad): global config bank = int((pad - 1) / _PADS) subpad = pad - (_PADS * bank) - 1 config[1][bank][subpad]['note'] = \ qprompt.ask_int("Note", vld=list(range(0,128)), dft=config[1][bank][subpad]['note']) menu = qprompt.Menu()
def edit_pad(pad): global config bank = int((pad - 1) / _PADS) subpad = pad - (_PADS * bank) - 1 config[1][bank][subpad]['note'] = \ qprompt.ask_int("Note", vld=list(range(0,128)), dft=config[1][bank][subpad]['note']) config[1][bank][subpad]['midicc'] = \ qprompt.ask_int("Midi CC", vld=list(range(0,128)), dft=config[1][bank][subpad]['midicc']) config[1][bank][subpad]['prog'] = \ qprompt.ask_int("Program", vld=list(range(0,128)), dft=config[1][bank][subpad]['prog']) menu = qprompt.Menu() for x, y in Pad.trigger.subcon.ksymapping.items(): menu.add(str(x), y) if config[1][bank][subpad]['trigger'] == y: dft = str(x) config[1][bank][subpad]['trigger'] = int(menu.show(msg="Trigger", dft=dft))
def _config_model(self, config=None): output('开始配置解读模型...') default_model_id = '' default_runtime = 'python3' default_memory_size = 128 default_timeout = 900 if config is not None: section_name = DEFAULT_MODEL_SECTION default_model_id = config_get(config.get, section_name, 'model_id') default_runtime = config_get(config.get, section_name, 'runtime') default_memory_size = config_get(config.getint, section_name, 'memory_size') default_timeout = config_get(config.getint, section_name, 'timeout') model_id = self._input_model_id(default=default_model_id) try: index = RUNTIME_CHOICES.index(default_runtime) except IndexError: index = 0 prompt = '请选择运行环境 [{}]'.format(default_runtime) input_prompt = "请选择" runtime = qprompt.enum_menu(RUNTIME_CHOICES).show(header=prompt, dft=index + 1, returns="desc", msg=input_prompt) try: index = MEMORY_SIZE_CHOICES.index(default_memory_size) except IndexError: index = 0 prompt = '请选择内存占用(MB) [{}]'.format(default_memory_size) input_prompt = "请选择" memory_size = qprompt.enum_menu(MEMORY_SIZE_CHOICES).show( header=prompt, dft=index + 1, returns="desc", msg=input_prompt) prompt = '请输入模型运行超时时间,类型为整数' while True: timeout = qprompt.ask_int(msg=prompt, dft=default_timeout) if (MIN_TIMEOUT and timeout < MIN_TIMEOUT) \ or (MAX_TIMEOUT and timeout > MAX_TIMEOUT): output('超出范围 [{},{}],请重新输入'.format(MIN_TIMEOUT or '', MAX_TIMEOUT or '')) continue break if not timeout: timeout = default_timeout return model_id, runtime, memory_size, timeout
def updatePass(): global pragma_input conn = sqlcipher.connect('.passman.db') cur = conn.cursor() cur.execute(pragma_input) print(pd.read_sql_query( "SELECT * FROM passwords", conn)) #display all passwords so user can easily see its ID print("Select the ID of the credentials you wish to EDIT") try: ID = qprompt.ask_int("ID") #ask user for ID of credential to edit except: qprompt.error("ID NOT FOUND") #error if ID is not found retry = qprompt.ask_yesno( "Retry?") #prompt user to retry or exit to main menu if retry == False: mainMenu() else: updatePass() print( "Credential set selected! What would you like to change?" ) #ask user what about the chosen set of credentials they would like to change qprompt.alert("HINT: Use '?' for a list of options") selection = qprompt.ask_str("Edit", valid=["website", "username", "password"]) if selection.lower() == "website": new = qprompt.ask_str("Enter new value") cur.execute( "UPDATE passwords SET WEBSITE = '{}' WHERE ID = '{}'".format( new, ID)) #updates record with new info elif selection.lower() == "username": new = qprompt.ask_str("Enter new value") cur.execute( "UPDATE passwords SET USERNAME = '******' WHERE ID = '{}'".format( new, ID)) elif selection.lower() == "password": new = qprompt.ask_str("Enter new value") cur.execute( "UPDATE passwords SET PASSWORD = '******' WHERE ID = '{}'".format( new, ID)) conn.commit() cur.close() mainMenu()
def edit_dial(dial): global config bank = int((dial - 1) / _DIALS) subdial = dial - (_DIALS * bank) - 1 menu = qprompt.Menu() for x, y in Dial.type.subcon.ksymapping.items(): menu.add(str(x), y) if config[2][bank][subdial]['type'] == y: dft = str(x) dtype = int( menu.show(hdr="Dial %d (Bank %s-%d):" % (dial, chr(65 + bank), subdial + 1), msg="Type", dft=dft)) config[2][bank][subdial]['type'] = dtype config[2][bank][subdial]['channel'] = \ qprompt.ask_int("Channel", vld=list(range(0,17)), dft=config[2][bank][subdial]['channel']) if dtype == 0 or dtype == 3: # CC or ID2 config[2][bank][subdial]['midicc'] = \ qprompt.ask_int("MidiCC", vld=list(range(0,128)), dft=config[2][bank][subdial]['midicc']) if dtype == 0 or dtype == 1: # CC or AT config[2][bank][subdial]['min'] = \ qprompt.ask_int("Min", vld=list(range(0,128)), dft=config[2][bank][subdial]['min']) config[2][bank][subdial]['max'] = \ qprompt.ask_int("Max", vld=list(range(0,128)), dft=config[2][bank][subdial]['max']) if dtype == 2: # ID1 config[2][bank][subdial]['msb'] = \ qprompt.ask_int("MSB", vld=list(range(0,128)), dft=config[2][bank][subdial]['msb']) config[2][bank][subdial]['lsb'] = \ qprompt.ask_int("LSB", vld=list(range(0,128)), dft=config[2][bank][subdial]['lsb']) config[2][bank][subdial]['value'] = \ qprompt.ask_int("Value", vld=list(range(0,128)), dft=config[2][bank][subdial]['value'])
def delPass(): global pragma_input conn = sqlcipher.connect('.passman.db') cur = conn.cursor() cur.execute(pragma_input) print(pd.read_sql_query("SELECT * FROM passwords", conn)) print("Select the ID of the credentials you wish to DELETE.") selection = qprompt.ask_int("ID") confirm = qprompt.ask_yesno(default="y") if confirm == False: print("Credential removal has been CANCELLED!") print() retry = qprompt.ask_yesno("Retry?", default="y") if retry == True: delPass() else: mainMenu() else: cur.execute("DELETE FROM passwords WHERE ID = '{}'".format(selection)) print("Credentials deleted successfully!") conn.commit() cur.close() qprompt.pause() mainMenu()
def test_int_1(test): setinput("2") result = ask_int() test.assertEqual(2, result) setinput("2f\n3") result = ask_int() test.assertEqual(3, result) setinput("\n") result = ask_int(dft=4) test.assertEqual(4, result) setinput("\n3") result = ask_int() test.assertEqual(3, result) setinput("2\n3") result = ask_int(vld=3) test.assertEqual(3, result) setinput("2\n3") result = ask_int(vld=lambda x: 3 == x) test.assertEqual(3, result)
def test_int_1(self): setinput("2") result = ask_int() self.assertEqual(2, result) setinput("2f\n3") result = ask_int() self.assertEqual(3, result) setinput("\n") result = ask_int(dft=4) self.assertEqual(4, result) setinput("\n3") result = ask_int() self.assertEqual(3, result) setinput("2\n3") result = ask_int(vld=3) self.assertEqual(3, result) setinput("2\n3") result = ask_int(vld=lambda x: x == 3) self.assertEqual(3, result)
def edit_scale(pad, verbose): global config rbank = int((pad - 1) / _PADS) rsubpad = pad - (_PADS * rbank) - 1 ptype = config[1][rbank][rsubpad]['type'] if ptype == "BANK": qprompt.error("Pad %d (Bank %s-%d) is configured as a BANK" % (pad, chr(65 + rbank), rsubpad + 1)) return menu = qprompt.Menu() x = 0 for y in Scale._SCALE_PATTERNS: menu.add(str(x), y) x = x + 1 stype = menu.show(hdr="Pad %d (Bank %s-%d):" % (pad, chr(65 + rbank), rsubpad + 1), msg="Scale", returns="desc") root = qprompt.ask_int("Note", vld=list(range(0, 128)), dft=config[1][rbank][rsubpad]['note']) count = qprompt.ask_int("Count", vld=[0] + list(range(1, _PTOTAL + 2 - pad)), dft=0) same = qprompt.ask_yesno(msg="Config all as per Pad %d?" % pad, dft='N') scale = Scale.build_scale(Note.from_midi_num(root), stype) scale_lst = [] for note in scale: scale_lst.append(note.midi_note_number()) if count: while len(scale_lst) < count: root = scale_lst.pop() scale = Scale.build_scale(Note.from_midi_num(root), stype) for note in scale: scale_lst.append(note.midi_note_number()) else: count = len(scale_lst) if pad + count > _PTOTAL: count = _PTOTAL + 1 - pad for note in scale_lst[:count]: bank = int((pad - 1) / _PADS) subpad = pad - (_PADS * bank) - 1 if same and ptype == "NOTE": config[1][bank][subpad]['type'] = config[1][rbank][rsubpad]['type'] config[1][bank][subpad]['channel'] = config[1][rbank][rsubpad][ 'channel'] config[1][bank][subpad]['trigger'] = config[1][rbank][rsubpad][ 'trigger'] config[1][bank][subpad]['aftertouch'] = config[1][rbank][rsubpad][ 'aftertouch'] if same and ptype == "PROG": config[1][bank][subpad]['type'] = config[1][rbank][rsubpad]['type'] config[1][bank][subpad]['channel'] = config[1][rbank][rsubpad][ 'channel'] if ptype == "NOTE": config[1][bank][subpad]['note'] = note else: config[1][bank][subpad]['program'] = note if verbose: print("Setting Pad %d (Bank %s-%d) to %d (%s)" % (pad, chr(65 + bank), subpad + 1, note, Note.from_midi_num(note))) pad = pad + 1
def edit_scale(pad, verbose): global config rbank = int((pad - 1) / _PADS) rsubpad = pad - (_PADS * rbank) - 1 menu = qprompt.Menu() menu.add("0", "Note") menu.add("1", "Midi-CC") menu.add("2", "Program") ptype = menu.show(msg="Apply Scale to:", returns="desc", dft="0") menu = qprompt.Menu() x = 0 for y in Scale._SCALE_PATTERNS: menu.add(str(x), y) x = x + 1 stype = menu.show(hdr="Pad %d (Bank %s-%d):" % (pad, chr(65 + rbank), rsubpad + 1), msg="Scale", returns="desc") same = None if ptype == "Note": root = qprompt.ask_int("Note", vld=list(range(0, 128)), dft=config[1][rbank][rsubpad]['note']) same = qprompt.ask_yesno(msg="Config all as per Pad %d?" % pad, dft='N') elif ptype == "Midi-CC": root = qprompt.ask_int("Midi-CC Value", vld=list(range(0, 128)), dft=config[1][rbank][rsubpad]['midicc']) else: root = qprompt.ask_int("Program Value", vld=list(range(0, 128)), dft=config[1][rbank][rsubpad]['prog']) count = qprompt.ask_int("Count", vld=[0] + list(range(1, _PTOTAL + 2 - pad)), dft=0) scale = Scale.build_scale(Note.from_midi_num(root), stype) scale_lst = [] for note in scale: scale_lst.append(note.midi_note_number()) if count: while len(scale_lst) < count: root = scale_lst.pop() scale = Scale.build_scale(Note.from_midi_num(root), stype) for note in scale: scale_lst.append(note.midi_note_number()) else: count = len(scale_lst) if pad + count > _PTOTAL: count = _PTOTAL + 1 - pad for note in scale_lst[:count]: bank = int((pad - 1) / _PADS) subpad = pad - (_PADS * bank) - 1 if same and ptype == "Note": config[1][bank][subpad]['trigger'] = config[1][rbank][rsubpad][ 'trigger'] if ptype == "Note": config[1][bank][subpad]['note'] = note elif ptype == "Midi-CC": config[1][bank][subpad]['midicc'] = note else: config[1][bank][subpad]['prog'] = note if verbose: print("Setting Pad %d (Bank %s-%d) to %d (%s)" % (pad, chr(65 + bank), subpad + 1, note, Note.from_midi_num(note))) pad = pad + 1
from TwoThree import TwoThree from jikanpy import Jikan from AVL import AVL from ABB import ABB import qprompt jikan = Jikan() # action = jikan.genre(type='anime', genre_id=43) #Numero maximo de genero: 43 genre = qprompt.ask_int("Ingrese el ID del genero que desea ver") if genre in range(1, 44): data = jikan.genre(type='anime', genre_id=genre) while True: qprompt.echo("Genero seleccionado: {}\n".format( data["mal_url"]["name"])) menu = qprompt.Menu() menu.add("A", "ABB") menu.add("B", "AVL") menu.add("C", "2-3") menu.add("D", "Salir") qprompt.echo("Elija en que estructura desea guardar la información") choice = menu.show() if choice == "A": info = ABB(data["mal_url"]["name"], data["anime"]) elif choice == "B": info = AVL(data["mal_url"]["name"], data["anime"]) elif choice == "C": info = TwoThree(data["mal_url"]["name"], data["anime"])
import qprompt name = qprompt.ask_str("Name", blk=False) age = qprompt.ask_int("Age", vld=range(130)) if qprompt.ask_yesno("Say hello?", dft="y"): print("Hi %s! You are %u years old!" % (name, age)) qprompt.pause()
import os import qprompt path = qprompt.ask_str("Enter path to file", vld=lambda x: os.path.isfile(x)) size = qprompt.ask_int("Enter number less than 10", vld=lambda x: x < 10)
def mouth_mover(): times = qprompt.ask_int() MovementAccess.chatter_mouth(times)