s = dbi.Session() totalobs = s.query(Observation).count() stdscr.addstr(curline,0,"Number of observations currently in the database: {totalobs}".format(totalobs=totalobs)) curline += 1 OBSs = s.query(Observation).filter(Observation.status!='NEW').filter(Observation.status!='COMPLETE').all() obsnums = [OBS.obsnum for OBS in OBSs] stdscr.addstr(curline,0," "*50) stdscr.addstr(curline,0,"Number of observations currently being processed {num}".format(num=len(obsnums))) curline += 1 statusscr.erase() statusscr.addstr(0,0," ---- Still Idle ---- ") for j,obsnum in enumerate(obsnums): try: host,path,filename= dbi.get_input_file(obsnum) status = dbi.get_obs_status(obsnum) still_host = dbi.get_obs_still_host(obsnum) except: host,path,filename = 'host','/path/to/','zen.2345672.23245.uv' status = 'WTF' col = int(j/statusscr.getmaxyx()[0]) #print col*colwidth if j==0 or col==0: row = j else: row = j%statheight statusscr.addstr(row,col*colwidth,"{filename} {status} {still_host}".format(col=col,filename=os.path.basename(filename),status=status,still_host=still_host)) s.close() statusscr.refresh() c = stdscr.getch() if c==ord('q'): break