示例#1
0
文件: QSTAT.py 项目: mcitron/Scripts
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
示例#2
0
文件: QSTAT.py 项目: mcitron/Scripts
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
示例#3
0
文件: QSTAT.py 项目: mcitron/Scripts
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
示例#4
0
文件: QSTAT.py 项目: mcitron/Scripts
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