│ iOS Beatrix│ v0.2 v0.3 v0.4 v0.5│ ────────────────────────────────────────────────────────────│ iPhone 4 FAIL PASS PASS FAIL│ iPhone 4s PASS FAIL FAIL FAIL│ iPhone 5 FAIL FAIL PASS FAIL│ iPhone 5s FAIL PASS PASS FAIL│ iPhone 6 PASS FAIL FAIL PASS│ iPad 2 FAIL PASS FAIL FAIL│ iPad 3 FAIL FAIL PASS PASS│ iPad Air FAIL FAIL FAIL PASS│ iPad Air 2 PASS PASS FAIL FAIL│ iPad Mini PASS FAIL FAIL FAILimport npyscreenimport timeimport randomimport curses
def myFunction(*args): F = npyscreen.Form(name='TTS viewer') myFW = F.add(npyscreen.TitleText, name="iOS Beatrix") gd = F.add(npyscreen.GridColTitles, relx = 10, rely=3, width=60, col_margin=1, columns=5, always_show_cursor = False, col_titles = ['','v0.2','v0.3','v0.4','v0.5']) gd.values = [] for x in range(10): row = [] for y in range(5): if bool(random.getrandbits(1)): row.append("PASS") else: row.append("FAIL") gd.values.append(row) gd.values[0][0]="iPhone 4" gd.values[1][0]="iPhone 4s" gd.values[2][0]="iPhone 5" gd.values[3][0]="iPhone 5s" gd.values[4][0]="iPhone 6" gd.values[5][0]="iPad 2" gd.values[6][0]="iPad 3" gd.values[7][0]="iPad Air" gd.values[8][0]="iPad Air 2" gd.values[9][0]="iPad Mini" F.display() time.sleep(60) return myFW.value
if __name__ == '__main__': print npyscreen.wrapper_basic(myFunction)import npyscreenimport timeimport randomimport curses
class MyGrid(npyscreen.GridColTitles): def custom_print_cell(self, actual_cell, cell_display_value): print actual_cell.value print cell_display_value cell_display_value = 'foo' print cell_display_value #raw_input("take a look") return cell_display_value #return "bar"
def myFunction(*args): F = npyscreen.Form(name='TTS viewer') myFW = F.add(npyscreen.TitleText, name="iOS Beatrix") gd = F.add(MyGrid, relx = 10, rely=3, width=60, col_margin=1, columns=5, always_show_cursor = False, col_titles = ['','v0.2','v0.3','v0.4','v0.5']) gd.values = [] for x in range(2): row = [] for y in range(5): if bool(random.getrandbits(1)): row.append("PASS") else: row.append("FAIL") gd.values.append(row) gd.values[0][0]="iPhone 4" gd.values[1][0]="iPhone 4s" F.display() time.sleep(60) return myFW.value
if __name__ == '__main__': print npyscreen.wrapper_basic(myFunction)class MyGrid(npyscreen.GridColTitles): # You need to override custom_print_cell to manipulate how # a cell is printed. In this example we change the color of the # text depending on the string value of cell. def custom_print_cell(self, actual_cell, cell_display_value): if cell_display_value =='FAIL': actual_cell.color = 'DANGER' elif cell_display_value == 'PASS': actual_cell.color = 'GOOD' else: actual_cell.color = 'DEFAULT'
def myFunction(*args): # making an example Form F = npyscreen.Form(name='Example viewer') myFW = F.add(npyscreen.TitleText) gd = F.add(MyGrid) # Adding values to the Grid, this code just randomly # fills a 2 x 4 grid with random PASS/FAIL strings. gd.values = [] for x in range(2): row = [] for y in range(4): if bool(random.getrandbits(1)): row.append("PASS") else: row.append("FAIL") gd.values.append(row) F.edit()
if __name__ == '__main__': npyscreen.wrapper_basic(myFunction)