def register_event(self, executor: ProcessExecutor, event: ActiveEvent) -> None: ui = UIBuilder(event) adhesive_task = executor.user_tasks_impl[event.task.id] context = adhesive_task.invoke_usertask(event, ui) # redirecting logs, and initializing ncurses is prolly a bad idea # the code that generates the UI shouldn't be run in ncurses def run_on_curses(x): try: # build the UI components on ncurses: ui.form = ConsoleUserTaskForm(ui_builder=ui, name=event.task.name) for ncurses_call in ui.ncurses_calls: ncurses_call() # call the actual UI ui.form.edit() # put the values in the data. context.data = ExecutionData.merge(context.data, ui.data) event.future.set_result(context) except Exception as e: event.future.set_exception(e) npyscreen.wrapper_basic(run_on_curses)
def hush(section, privatekey, configpath, fields): privatekey = os.path.expanduser(privatekey) configpath = os.path.expanduser(configpath) assert os.path.exists(privatekey) privatekey = open(privatekey, 'rb').read() # privatekey = hash32(privatekey) widgets = [] data = read_config(section, configpath, privatekey) if section not in data: data[section] = {} fields = [f.strip() for f in fields.split(",")] def curses_app(*args): form = npyscreen.Form() for f in fields: w = form.add(npyscreen.TitleText, name=f, value=data[section].get(f, '')) w._forfield = f widgets.append(w) form.edit() for w in widgets: data[section][w._forfield] = w.value npyscreen.wrapper_basic(curses_app) make_config(section=section, data=data[section], config_path=configpath, private_key=privatekey)
def open_tui(config_name=None): try: init_config_dir() config = {} npys.wrapper_basic(get_build_ui(config, config_name)) return config except KeyboardInterrupt: pass
def myFunction(*args): F = LoginForm(name='XTEEN POWER INTERFACE 2.3.11') F.edit() if F.Login.value == '161803': F = PasswordCorrect() F.edit() #n = 0 npyscreen.wrapper_basic(mainScreen) elif F.Login.value != '161803': F = PasswordIncorrect() F.edit() npyscreen.wrapper_basic(myFunction)
def demo(): # Poblamos el Programa de Suministro generadorDePrograma.generar() # Activamos todos los actualizadores for actualizador in actualizadores: actualizador.iniciarActualizacion() # Iniciamos el entorno npyscreen npyscreen.wrapper_basic(npyscreen_main) # Detenemos todos los actualizadores for actualizador in actualizadores: actualizador.detenerActualizacion()
def script(): try: return npyscreen.wrapper_basic(myFunction) except: print(bcolors.WARNING + "[-] please make the terminal window larger to use this GUI" + bcolors.ENDC) return False
def dbgCreateUser(): """Shows form to create user from debugger.""" if not(isDebugger): return curses.initscr() storeData = npyscreen.wrapper_basic(nolist_createUser.realCreate) a = AddUser(storeData.username.value, EStr(storeData.pswd.value), int(storeData.avatar.value), int(storeData.elec.value), float(storeData.pps.value), "[]", "\{\}", "", "\{\}", bool(storeData.banned.value), "0.0.0.0", bool(storeData.access.value), -1, '[]') if(a != "OK"): print("There was an error while creating user account ("+a+")", CT.ERROR) else: print("User "+Fore.CYAN+storeData.username.value+Fore.RESET+" was created successfully!", CT.INFO)
def cb_Tables_s(scr): global dbsrv, sub_menu tableName = npyscreen.wrapper_basic(selectTable) scr.clear() curses.raw() try: dbsrv.setTable(tableName) drawStatus(scr, "Table set to " + tableName) drawData(scr, ("", " "+tableName+" Selected")) except: drawStatus(scr, "Select Table Failed") drawData(scr, ("", "Selecting Table failed")) drawMenu(scr, sub_menu["Tables"])
def cb_Tables_c(scr): global dbsrv table_params = npyscreen.wrapper_basic(createTable) scr.clear() curses.raw() try: dbsrv.createTable(table_params) drawStatus(scr, table_params['table_name'] + "Created") drawData(scr, ("", " "+table_params['table_name']+" Created")) except: drawStatus(scr, "Create Table Failed") drawData(scr, ("", "Create Table Failed")) drawMenu(scr, sub_menu["Tables"])
def cb_Tables_r(scr): global dbsrv, sub_menu tableName = npyscreen.wrapper_basic(removeTable) scr.clear() curses.raw() try: dbsrv.removeTable(tableName) drawStatus(scr, tableName + " Table removed ") drawData(scr, ("", " "+tableName+" removed")) except: drawStatus(scr, "Remove Table Failed") drawData(scr, ("", "Remove Table failed")) drawMenu(scr, sub_menu["Tables"])
def cb_Databases_r(scr): global dbsrv dbName = npyscreen.wrapper_basic(removeDatabase) scr.clear() curses.raw() try: dbsrv.dropDatabase(dbName) drawStatus(scr, dbName + "deleted") drawData(scr, ("", " "+dbName+" deleted")) except: drawStatus(scr, "Database Deletion Failed") drawData(scr, ("", "Database Deletion Failed")) drawMenu(scr, sub_menu["Databases"])
def cb_Login(scr): global dbsrv login = npyscreen.wrapper_basic(dbLogin) scr.clear() curses.raw() try: dbsrv.connect(login) drawStatus(scr, "DB server connected") drawData(scr, ("", "DB server connected")) except: drawStatus(scr, "Login Failed") drawData(scr, ("", "Login to DB Server failed")) drawMenu(scr, main_menu)
def cb_Databases_s(scr): global dbsrv, sub_menu dbName = npyscreen.wrapper_basic(selectDatabase) scr.clear() curses.raw() try: dbsrv.setDatabase(dbName) drawStatus(scr, "Database set to " + dbName) drawData(scr, ("", " "+dbName+" Selected")) except: drawStatus(scr, "Select Database Failed") drawData(scr, ("", "Selecting Database failed")) drawMenu(scr, sub_menu["Databases"])
def cb_SQL(scr): global dbsrv sql = npyscreen.wrapper_basic(runSQL) scr.clear() curses.raw() try: sql_results = dbsrv.exec_sql(sql) drawStatus(scr, "") drawData(scr, sql_results) except: drawStatus(scr, "SQL Failed") drawData(scr, ("", "SQL failed")) drawMenu(scr, main_menu)
def cb_Databases_c(scr): global dbsrv dbName = npyscreen.wrapper_basic(createDatabase) scr.clear() curses.raw() try: dbsrv.createDatabase(dbName) drawStatus(scr, dbName + "created") drawData(scr, ("", " "+dbName+" created")) except: drawStatus(scr, "Database Creation Failed") drawData(scr, ("", "Database Creation Failed")) drawMenu(scr, sub_menu["Databases"])
def form_generator(form_title, fields): def myFunction(*args): form = npyscreen.Form(name=form_title) result = {} for field in fields: t = field["type"] k = field["key"] del field["type"] del field["key"] result[k] = form.add(getattr(npyscreen, t), **field) form.edit() return result return npyscreen.wrapper_basic(myFunction)
def myFunction(*args): liste_ext = [u".tar.gz", u".tar.bz2", u".bz2", u".rar", u".gz", u".tar", u".tbz2", u".tgz", u".zip", u".Z"] F = npyscreen.Form(name=u"EasyTar") path = F.add(npyscreen.TitleFilenameCombo, name=u"Path to archive") extensions = F.add(npyscreen.TitleSelectOne,name=u"Archive extension", values = liste_ext, scroll_exit=True) F.edit() return {'path': path.value, 'extensions': extensions.value} if __name__ == '__main__': i = 1 direction = u"/" liste_ext = [(u"tar", u"-xzf"), (u"tar ", "-xjf"), (u"bunzip2", u""), (u"rar", u"x"), (u"gunzip", u""), (u"tar", "-xf"), (u"tar", u"-xjf"), (u"tar", u"-xzf"), (u"unzip", u""), (u"uncompress", u"")] selected = npyscreen.wrapper_basic(myFunction) cutPath = selected['path'] if cutPath: cutPath.split('/') while i < len(cutPath) - 1: direction = u"{0}{1}{2}".format(direction, cutPath[i], u"/" if direction else u"") i = i + 1 if selected['extensions']: try: if liste_ext[selected['extensions'][0]][1]: subprocess.call([liste_ext[selected['extensions'][0]][0], liste_ext[selected['extensions'][0]][1], selected['path']]) else: subprocess.call([liste_ext[selected['extensions'][0]][0], selected['path']]) except OSError: print "Wrong extension or wrong file" else:
def register(self): (a, b) = npyscreen.wrapper_basic(self.frmreg) msg = "REGIST " + a + " " + b sock.sendall(msg)
#!/usr/bin/env python import npyscreen def simple_function(): pass if __name__ == "__main__": npyscreen.wrapper_basic(simple_function) print("This is a test app")
def main(*args): args, defaults = functions.get_args() return npyscreen.wrapper_basic(functools.partial(run_menu, defaults, args))
import npyscreen def func(*args): F = npyscreen.Form(name='Main Form') y, x = F.useable_space() first_box = F.add(npyscreen.BoxTitle, name='first box', values=['1', '2'], scroll_exit=True, max_height=5, max_width=(x // 2 - 5)) # Cancel off the automovement of cursor on x direction. second_box = F.add(npyscreen.BoxTitle, name='second box', values=['4', '5'], max_height=5, scroll_exit=True, max_width=(x // 2 - 5), relx=x // 2, rely=first_box.rely) F.edit() if __name__ == '__main__': npyscreen.wrapper_basic(func)
class MyTreeLineAnnotated(npyscreen.TreeLineAnnotated): def getAnnotationAndColor(self): # AHH, self.value is an empty str, this fails. #if self.value: content = str(self.value) return (content, self._annotatecolor) def display_value(self, vl): return str(vl) class MyTree(npyscreen.MultiLineTreeNew): _contained_widgets = MyTreeLineAnnotated def display_value(self, vl): return vl class MyForm(npyscreen.Form): def create(self): self.series_view = self.add(MyTree, values=tree_data) def myFunction(*args): F = MyForm(name="My Form") F.edit() npyscreen.wrapper_basic(myFunction)
def login(self): (usr, pas) = npyscreen.wrapper_basic(self.frmreg) msg = "LOGIN " + usr + " " + pas sock.sendall(msg)
def init (ob): npyscreen.wrapper_basic(ob.start)
""" Tutorial from https://npyscreen.readthedocs.io/application-structure.html """ import npyscreen class EmployeeForm(npyscreen.Form): def create(self): super().create() self.name = self.add(npyscreen.TitleText, name='Name') self.department = self.add( npyscreen.TitleSelectOne, name='Department', values=['Accounting', 'HR', 'IT'], max_height=3, ) self.start_date = self.add(npyscreen.TitleDateCombo, name='Date Employed') def main(*args): form = EmployeeForm(name='New Employee') form.edit() return f'New record created for {form.name.value}' if __name__ == '__main__': print(npyscreen.wrapper_basic(main))
if image_text is not "sorry": _F = npyscreen.Form(name=ascii(pretty_print_artist(a)).upper()) _pager = _F.add(npyscreen.Pager, values=image_text.split("\n")) _F.display() if __name__ == "__main__": """Run this like python kiosk.py to enter an auto mode that just cycles through band pictures, or without any arguments to enter interactive mode.""" if len(sys.argv) > 1 and sys.argv[1] == "auto": _artists = [] # Get 500 pop artists around your time for x in xrange(5): _artists = _artists + pyechonest.artist.search( results=100, start=x * 100, artist_start_year_before=_THE_YEAR_IS, artist_start_year_after=_THE_YEAR_IS - 5, style="pop", sort="familiarity-desc", buckets=["years_active", "artist_location"], ) npyscreen.wrapper_basic(show) threading.Timer(1, tick).start() else: # interactive mode _app = KioskApp() _app.run()
def edit(self): return npyscreen.wrapper_basic(self.show_form)
rely=-(term_size.lines - 2), values=["Blah-Other"]) def aws_function(*args): """Central Function to display the UI.""" session = boto3.session.Session() profiles = session.available_profiles profile_form = AwsProfileForm(os.environ['AWS_PROFILE'], profiles) profile_form.edit() return profiles[profile_form.profile.value[0]] values1 = [{ "key": "rest-spring-beanstalk", "desc": "Web Service using Spring Boot on Elastic Beanstalk" }, { "key": "spa-nginx-ec2", "desc": "Angular Single Page Application served by nginx on EC2" }, { "key": "py-flask-passenger-ec2", "desc": "Python Flask web app using Passenger on EC2" }] if __name__ == '__main__': print(npyscreen.wrapper_basic(aws_function)) helpText = "Lorem ipsum dolor sit amet, , AFTER>\n \n<BEFOREsed do eiusmod tempor incididunt" result = list( itertools.chain.from_iterable(_wrap(helpText, HELP_WIDTH - 3))) print(result)
image_text = "sorry" if image_text is not "sorry": _F = npyscreen.Form(name=ascii(pretty_print_artist(a)).upper()) _pager = _F.add(npyscreen.Pager, values=image_text.split('\n')) _F.display() if __name__ == "__main__": """Run this like python kiosk.py to enter an auto mode that just cycles through band pictures, or without any arguments to enter interactive mode.""" if len(sys.argv) > 1 and sys.argv[1] == "auto": _artists = [] # Get 500 pop artists around your time for x in xrange(5): _artists = _artists + pyechonest.artist.search( results=100, start=x * 100, artist_start_year_before=_THE_YEAR_IS, artist_start_year_after=_THE_YEAR_IS - 5, style="pop", sort="familiarity-desc", buckets=["years_active", "artist_location"]) npyscreen.wrapper_basic(show) threading.Timer(1, tick).start() else: # interactive mode _app = KioskApp() _app.run()
class MainForm(npyscreen.Form): def create(self): self.add(npyscreen.TitleText, name="Text:", value="Hellow World!") def afterEditing(self): self.parentApp.setNextForm(None) class myEmployeeForm(npyscreen.Form): def create(self): self.myName = self.add(npyscreen.TitleText, name='Name') self.myDepartment = self.add( npyscreen.TitleSelectOne, scroll_exit=True, max_height=3, name='Department', values=['Department 1', 'Department 2', 'Department 3']) self.myDate = self.add(npyscreen.TitleDateCombo, name='Date Employed') def myFunction(*args): F = myEmployeeForm(name="New Employee") F.edit() return "Created record for " + F.myName.value if __name__ == '__main__': print(npyscreen.wrapper_basic(myFunction))
def joingroup(self): groupname = npyscreen.wrapper_basic(self.frmjgroup) sock.sendall("JOIN " + groupname)
def tui_app(conn_str): npyscreen.wrapper_basic(functools.partial(run_tui, conn_str))
# coding:utf-8 import npyscreen class NotifyWaitExample(npyscreen.Form): def create(self): key_of_choice = 'p' what_to_display = 'Press {} for popup \n Press escape key to quit'.format(key_of_choice) self.how_exited_handers[npyscreen.wgwidget.EXITED_ESCAPE] = self.exit_application self.add_handlers({key_of_choice: self.spawn_notify_popup}) self.add(npyscreen.FixedText, value=what_to_display) def spawn_notify_popup(self, code_of_key_pressed): message_to_display = 'I popped up \n passed: {}'.format(code_of_key_pressed) npyscreen.notify_wait(message_to_display, title='Popup Title') def afterEditing(self): self.parentApp.setNextForm(None) def exit_application(self): self.parentApp.setNextForm(None) self.editing = False def myFunction(*args): F = NotifyWaitExample(name = "NotifyWaitExample") F.edit() if __name__ == '__main__': npyscreen.wrapper_basic(myFunction)
import npyscreen, os modsList = [] argsList = [] modsDirectory = os.path.abspath("/Users/chrishewlings/Desktop") dirContents = os.listdir(modsDirectory) for thingie in dirContents: if thingie.lower().endswith(('.pk3','.wad','.pk7')): modsList.append(thingie) class MainForm(npyscreen.Form): def create(self): self.modsDisplayed = self.add(npyscreen.TitleMultiSelect, name='Which mods to run?', values = modsList, scroll_exit=True, max_height=len(modsList) + 4) def displayMenu(*args): screen = MainForm(name='Launcher') screen.edit() return screen.modsDisplayed.get_selected_objects() if __name__ == '__main__': selectedValues = npyscreen.wrapper_basic(displayMenu) for element in selectedValues: argsList.append(modsDirectory + "/" + element) print argsList
def screen(): print(npyscreen.wrapper_basic(myFunction)[0]) #return [file_path,num_workers,format_type,model_type,iplist,program_path] return [file_path, num_workers, format_type, model_type, program_path]
def run(self, data): return npyscreen.wrapper_basic(partial(self.wrapme, data))
we can define our own Form class ''' def create(self): ''' The create() method will be called whenever the form is created. ''' # will store input value self.name = self.add(npyscreen.TitleText, name='Name') self.department = self.add( npyscreen.TitleSelectOne, max_height=3, name='Department', values=['NLP', 'CV', 'Algorithm'], scroll_exit=True) # scroll_exit: Let the user move out of the widget by navigating self.date = self.add(npyscreen.TitleDateCombo, name='Date Employed') def my_func(*args): F = MainForm(name='New Employee') F.edit() return ('create record for ' + F.name.value, (F.name.value, F.department.get_selected_objects(), F.date.value)) if __name__ == '__main__': result = npyscreen.wrapper_basic(my_func) print(result[0]) print(result[1])
import npyscreen as np def test(*args): F = np.Form(name='Hihi!') F.display() if __name__ == '__main__': try: np.wrapper_basic(test) except KeyboardInterrupt: pass
self.btstat.values.append(row) ingame = recieved[3] for x in range(0, botCount): if (ingame[x] == True) and (bots[x] not in botsingame): botsingame.append(bots[x]) elif (bots[x] in botsingame) and (ingame[x] == False): botsingame.remove(bots[x]) botsingame.sort() if recieved[1] == 'chat': self.logs.values = recieved[0] elif 'Disconnected' in recieved[2]: self.logs.values = [] self.choice.values = botsingame def guifunc(*args): global botsingame botsingame = [] gui = Form(name='skribbl.io - spamBot') while True: global recieved recieved = parent.recv() gui.valueupdate() gui.display() print npyscreen.wrapper_basic(guifunc) for bot in bots: bot.join()
import npyscreen from matomat.login_form import LoginForm def loginFunc(*args): F = LoginForm(name="Please provide your credentials to log into Matomat") F.edit() return "Logged in " + F.login.value if __name__ == '__main__': print(npyscreen.wrapper_basic(loginFunc))
#print(dtm) #urwid.MainLoop(top, palette=[('reversed', 'standout', '')]).run() #return(dtm) #TA = MainApp() #TA.run(fork=False) #curCalEvent = pCalendar.UserCal.CalEvent() #x.addEntry(curCalEvent) #MF = newCalEvent(name="New Calender Event") #menu = MainForm(name="MainMenu") #menu.edit() #if "add" in menu.result: # F, dtm = createCal(x) # print(x) #print(x) return dtm def displayCal(cal): print("Current Calendar:") print(cal) if __name__ == '__main__': cal = npyscreen.wrapper_basic(main) print(cal) x.addEntry(cal) print(x) #myApp = CalendarApplication() #myApp.run() #print (npyscreen.wrapper_basic(myFunction))
def handle(self, app_name, **kwargs): import atexit atexit.register(self._show_logs) API.set_app_name(app_name) npyscreen.wrapper_basic(self._gui) logger.info('Finished!')
def leavegroup(self): groupname = npyscreen.wrapper_basic(self.frmlgroup) sock.sendall("LEAVE " + groupname)
# Copyright © 2014 van <van@vanleno> # # Distributed under terms of the MIT license. """ """ import npyscreen class myEmployeeForm(npyscreen.Form): def create(self): self.myName = self.add(npyscreen.TitleText, name='Name') #self.myDepartment= self.add(npyscreen.TitleText, name='myDepartment') self.myDepartment= self.add(npyscreen.TitleSelectOne, max_height=3, name='myDepartment', values =['dep1', 'dep2', 'dep3','dep4'], scroll_exit = True ) self.myDate= self.add(npyscreen.TitleText, name='myDate') def myFunction(*args): #F = npyscreen.Form(name='my test app') F = myEmployeeForm(name='new employee') F.edit() return 'created record for ' + F.myName.value if __name__ == '__main__': print npyscreen.wrapper_basic(myFunction)
def run(self, instances): return npyscreen.wrapper_basic(partial(self.wrapme, instances))
import npyscreen import random import os import sys from functions import allfunctions # def toConsole(F, lab, num, var): # allFunctions[lab][num] lab = 0 nom = 0 def main(*args): F = npyscreen.ActionForm(name = "Запускатор лаб Mark 1",footer=None) F._clear_all_widgets() ls = F.add(npyscreen.SelectOne,value=[lab], values = ["Лаба 1","Лаба 2","Лаба 3","Лаба 4","Лаба 5"],max_height=6,exit_right=True,exit_left=True) ns = F.add(npyscreen.SelectOne,value=[nom], values = ["Номер 1","Номер 2","Номер 3","Номер 4"],max_height=5,rely=2,relx=20,exit_right=True,exit_left=True) F.on_cancel = sys.exit F.edit() return (ls.value[0],ns.value[0]) while True: lab,nom = npyscreen.wrapper_basic(main) os.system('clear') print(f'===== Лаба {lab+1} Задание {nom+1} =====') allfunctions[lab][nom]() input("Enter чтобы продолжить")
# -*- coding: utf-8 -*- import npyscreen as npy, datetime def myFunction(*args): F = npy.Form(name='SPA-Nuevo Cliente') fname = F.add(npy.TitleText, name="Nombre") lname = F.add(npy.TitleText, name="Apellidos") F.nextrely += 1 finum = F.add(npy.TitleText, name="Id Fiscal") F.nextrely += 1 F.add(npy.TitleFixedText, name='Dirección') ml = F.add(npy.MultiLineEdit, value="", max_height=3, rely=8) myDate= F.add(npy.TitleDateCombo, name='Date Employed') myDate.value = datetime.datetime.now().date() F.edit() return fname.value, lname.value, ml.value, myDate.value if __name__ == '__main__': print npy.wrapper_basic(myFunction)