def printexpiring( expiring ) : line = "-"*( 11 + 15*(len(queuelist)) ) if len( expiring.keys() ) > 0 : print line print "Expiring" print line for user, jobs in expiring.iteritems() : print "\n%s%10s%s : %d" % ( get_users_color( user ), user, bcolors.OFF, len( jobs ) ), print
def printexpiring(expiring): line = "-" * (11 + 15 * (len(queuelist))) if len(expiring.keys()) > 0: print line print "Expiring" print line for user, jobs in expiring.iteritems(): print "\n%s%10s%s : %d" % (get_users_color(user), user, bcolors.OFF, len(jobs)), print
def printusers( userinfo, queuelist = ["hepshort.q", "hepmedium.q", "heplong.q"], username = None, userlist = None, expiring = {} ) : format = "%-12s" format += "%-17s"*(len(queuelist) ) format += "%-8s" userformat = "%-10s" userformat += "%-17s"*(len(queuelist) ) userformat += "%s" line = "-"*( 11 + 17*len(queuelist) + 9 ) hline = "="*( 11 + 17*len(queuelist) + 9 ) title = [ "User" ] + queuelist + [ "Expiring" ] print line print format % tuple(title) print hline queued_total = [0]*len(queuelist) total_jobs = {} for user, qinfo in userinfo.iteritems() : queuedata_string = [""]*(len(queuelist)) for i,queue in enumerate(queuelist) : r,qw,o = 0,0,0 for state,count in qinfo.get(queue,{}).iteritems() : if state == 'r' : r += count elif state == 'qw': qw += count else : o += count total_jobs[user] = total_jobs.get(user,0) + r+qw+o queuedata_string[i] = "[%3d,%5d,%4d]" % (r,qw,o) queued_total[i]+=qw ucolor = get_users_color( user ) if ucolor : print ucolor + "*" + bcolors.OFF, else : print " ", exp = expiring.get(user,[]) exp = len(exp) if exp == 0 : exp = "--" else : exp = str(exp) pr_list =[ user ] + queuedata_string + [ exp ] if user == username : print bcolors.HIGHLIGHT + userformat % tuple(pr_list) + bcolors.OFF elif user in userlist : print bcolors.BOLD + userformat % tuple(pr_list) + bcolors.OFF else : print userformat % tuple(pr_list) print line print format % tuple( ["Queued:"] + [ "%9d" % t for t in queued_total ] + [""] ) print line for group, count in __G_GROUPS.iteritems() : print "%s%6s%s %d" % ( GCOL[group], group, bcolors.OFF, count ), print for u in userlist : tjobs = total_jobs.get(u,0) print "%s %s %s %s [%d]" % (bcolors.BOLD, u, bcolors.OFF, get_users_full_name(u), tjobs ), if userlist: print
def printusers(userinfo, queuelist=["hepshort.q", "hepmedium.q", "heplong.q"], username=None, userlist=None, expiring={}): format = "%-12s" format += "%-17s" * (len(queuelist)) format += "%-8s" userformat = "%-10s" userformat += "%-17s" * (len(queuelist)) userformat += "%s" line = "-" * (11 + 17 * len(queuelist) + 9) hline = "=" * (11 + 17 * len(queuelist) + 9) title = ["User"] + queuelist + ["Expiring"] print line print format % tuple(title) print hline queued_total = [0] * len(queuelist) total_jobs = {} for user, qinfo in userinfo.iteritems(): queuedata_string = [""] * (len(queuelist)) for i, queue in enumerate(queuelist): r, qw, o = 0, 0, 0 for state, count in qinfo.get(queue, {}).iteritems(): if state == 'r': r += count elif state == 'qw': qw += count else: o += count total_jobs[user] = total_jobs.get(user, 0) + r + qw + o queuedata_string[i] = "[%3d,%5d,%4d]" % (r, qw, o) queued_total[i] += qw ucolor = get_users_color(user) if ucolor: print ucolor + "*" + bcolors.OFF, else: print " ", exp = expiring.get(user, []) exp = len(exp) if exp == 0: exp = "--" else: exp = str(exp) pr_list = [user] + queuedata_string + [exp] if user == username: print bcolors.HIGHLIGHT + userformat % tuple(pr_list) + bcolors.OFF elif user in userlist: print bcolors.BOLD + userformat % tuple(pr_list) + bcolors.OFF else: print userformat % tuple(pr_list) print line print format % tuple(["Queued:"] + ["%9d" % t for t in queued_total] + [""]) print line for group, count in __G_GROUPS.iteritems(): print "%s%6s%s %d" % (GCOL[group], group, bcolors.OFF, count), print for u in userlist: tjobs = total_jobs.get(u, 0) print "%s %s %s %s [%d]" % (bcolors.BOLD, u, bcolors.OFF, get_users_full_name(u), tjobs), if userlist: print