I have an issue with npyscreen application, which implicitly will be able to turning off or rebooting entire LAN (small project for my teacher). I have created picking widget with two test functions in order to check if app works correctly:
def test_1():
if True:
file = open("test_1.txt", "w")
file.write("This file is created because option 1 had been activated")
file.close()
else:
pass
def test_2():
if True:
file = open("test_2.txt", "w")
file.write("This file is created because option 2 had been activated")
file.close()
else:
pass
class RatScreen(npyscreen.ActionForm):
def create(self):
# elf.show_atx = 20
self.show_aty = 4
self.add(npyscreen.TitleFixedText, name="Description:", value="Remote Access Tool is small app designed to manage machines in local network")
self.add(npyscreen.TitleFixedText, name="Active computers:", value=active_computers)
self.nextrely += 1
self.add(npyscreen.TitleSelectOne, max_height=4, value=[test_1(), test_2()], name="Choose option", values=["Option 1", "Option 2"], scroll_exit=True)
def on_ok(self):
ok_cancel = npyscreen.notify_ok_cancel("Are you sure you want to execute selected task?", "Warning", editw=2)
if ok_cancel == True:
self.parentApp.setNextForm(None)
else:
self.parentApp.setNextFormPrevious
def on_cancel(self):
self.parentApp.setNextForm(None)
class RAT(npyscreen.NPSAppManaged):
def onStart(self):
self.addForm('MAIN', RatScreen, name='Remote Access Tool v1.1', lines=20)
if __name__ == '__main__':
active_computers = []
# ping()
app = RAT().run()
And there the problem appeared, after every start of the app, it immediately creates both files.
Can somebody help me with this issue? Thanks!
The problem was that you made both options True as default (value=[test_1(), test_2()]). Hope it helps.