⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 util.py

📁 xen虚拟机源代码安装包
💻 PY
字号:
from xen.xend.XendClient import serverfrom xen.xend import sxpfrom xen.xend import PrettyPrintimport typesdef getDomInfo( domain ):    domInfoHash = {}    try:        domInfoHash = sxp2hash( server.xend_domain( domain ) )        domInfoHash['dom'] = domain    except:    	domInfoHash['name'] = "Error getting domain details"    return domInfoHashdef sxp2hash( s ):    sxphash = {}            for child in sxp.children( s ):    	if isinstance( child, types.ListType ) and len( child ) > 1:            if isinstance( child[1], types.ListType ) and len( child ) > 1:                sxphash[ child[0] ] = sxp2hash( child[1] )            else:                sxphash[ child[0] ] = child[1]            return sxphash      def ssxp2hash( s ):    sxphash = {}        for i in s:       if isinstance( i, types.ListType ) and len( i ) > 1:          sxphash[ i[0] ] = i[1]        return sxphash     def hash2sxp( h ):    hashsxp = []        for (key, item) in h.items():    	hashsxp.append( [key, item] )            return hashsxp        def string2sxp( string ):    pin = sxp.Parser()    pin.input( string )    return pin.get_val()    def sxp2string( sexp ):    return sxp.to_string( sexp )        def sxp2prettystring( sxp ):    class tmp:        def __init__( self ):                self.str = ""        def write( self, str ):                self.str = self.str + str    temp = tmp()    PrettyPrint.prettyprint( sxp, out=temp )    return temp.strdef getVar( var, request, default=None ):       arg = request.args.get( var )    if arg is None:        return default    else:        return arg[ len( arg )-1 ]def bigTimeFormatter( time ):    time = float( time )    weeks = time // 604800    remainder = time % 604800    days = remainder // 86400        remainder = remainder % 86400    hms = smallTimeFormatter( remainder )        return "%d weeks, %d days, %s" % ( weeks, days, hms )def smallTimeFormatter( time ):    time = float( time )    hours = time // 3600    remainder = time % 3600    mins = remainder // 60    secs = time % 60    return "%02d:%02d:%04.1f (hh:mm:ss.s)" % ( hours, mins, secs ) def stateFormatter( state ):    states = [ 'Running', 'Blocked', 'Paused', 'Shutdown', 'Crashed' ]        stateStr = ""        for i in range( len( state ) ):        if state[i] != "-":            stateStr += "%s, " % states[ i ]                return stateStr + " (%s)" % statedef memoryFormatter( mem ):    mem = int( mem )    if mem >= 1024:        mem = float( mem ) / 1024        return "%3.2fGb" % mem    else:            return "%7dMb" % memdef cpuFormatter( mhz ):    mhz = int( mhz )    if mhz > 1000:        ghz = float( mhz ) / 1000.0        return "%4.2fGHz" % ghz    else:        return "%4dMHz" % mhz        def hyperthreadFormatter( threads ):    try:        if int( threads ) > 1:            return "Yes"        else:            return "No"    except:        return "No"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -