Exemple #1
0
    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)
Exemple #2
0
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)
Exemple #3
0
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
Exemple #4
0
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)
Exemple #5
0
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()
Exemple #6
0
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()
Exemple #7
0
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
Exemple #8
0
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)
Exemple #9
0
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"])
Exemple #10
0
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"])
Exemple #11
0
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"])
Exemple #12
0
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"])
Exemple #13
0
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)
Exemple #14
0
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"])
Exemple #15
0
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)
Exemple #16
0
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"])
Exemple #17
0
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)
Exemple #18
0
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)
Exemple #19
0
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)
Exemple #21
0
#!/usr/bin/env python

import npyscreen


def simple_function():
    pass


if __name__ == "__main__":
    npyscreen.wrapper_basic(simple_function)
    print("This is a test app")
Exemple #22
0
def main(*args):
    args, defaults = functions.get_args()

    return npyscreen.wrapper_basic(functools.partial(run_menu, defaults, args))
Exemple #23
0
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)
Exemple #24
0
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)
Exemple #26
0
def init (ob):
    npyscreen.wrapper_basic(ob.start)
Exemple #27
0
"""
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))
Exemple #28
0
    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)
Exemple #30
0
                                   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)
Exemple #31
0
            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()
Exemple #32
0

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)
Exemple #34
0
def tui_app(conn_str):
    npyscreen.wrapper_basic(functools.partial(run_tui, conn_str))
Exemple #35
0
# 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
Exemple #37
0
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]
Exemple #38
0
 def run(self, data):
     return npyscreen.wrapper_basic(partial(self.wrapme, data))
Exemple #39
0
    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])
Exemple #40
0
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()
Exemple #42
0
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))
Exemple #44
0
 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)
Exemple #46
0
# 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)


Exemple #47
0
 def run(self, instances):
     return npyscreen.wrapper_basic(partial(self.wrapme, instances))
Exemple #48
0
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 чтобы продолжить")
Exemple #49
0
# -*- 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)