Add colours to information printout
This commit is contained in:
parent
3e51988e9a
commit
fb796b74a7
45
pvcf.py
45
pvcf.py
|
@ -20,7 +20,7 @@
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
import os, sys, libvirt, uuid, kazoo.client, lxml.objectify, click
|
import os, sys, libvirt, uuid, kazoo.client, lxml.objectify, click, ansiiprint
|
||||||
|
|
||||||
#
|
#
|
||||||
# Validate a UUID
|
# Validate a UUID
|
||||||
|
@ -117,44 +117,51 @@ def getInformationFromXML(zk, uuid, long_output):
|
||||||
|
|
||||||
# Format a nice output; do this line-by-line then concat the elements at the end
|
# Format a nice output; do this line-by-line then concat the elements at the end
|
||||||
ainformation = []
|
ainformation = []
|
||||||
ainformation.append('Virtual machine information:')
|
ainformation.append('{}Virtual machine information:{}'.format(ansiiprint.bold(), ansiiprint.end()))
|
||||||
ainformation.append('')
|
ainformation.append('')
|
||||||
# Basic information
|
# Basic information
|
||||||
ainformation.append('UUID: {}'.format(duuid))
|
ainformation.append('{}UUID:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), duuid))
|
||||||
ainformation.append('Name: {}'.format(dname))
|
ainformation.append('{}Name:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), dname))
|
||||||
ainformation.append('Memory: {} {}'.format(dmemory, dmemory_unit))
|
ainformation.append('{}Memory:{} {} {}'.format(ansiiprint.purple(), ansiiprint.end(), dmemory, dmemory_unit))
|
||||||
ainformation.append('vCPUs: {}'.format(dvcpu))
|
ainformation.append('{}vCPUs:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), dvcpu))
|
||||||
ainformation.append('Topology [S/C/T]: {}'.format(dvcputopo))
|
ainformation.append('{}Topology [S/C/T]:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), dvcputopo))
|
||||||
|
|
||||||
if long_output == True:
|
if long_output == True:
|
||||||
# Virtualization information
|
# Virtualization information
|
||||||
ainformation.append('')
|
ainformation.append('')
|
||||||
ainformation.append('Emulator: {}'.format(demulator))
|
ainformation.append('{}Emulator:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), demulator))
|
||||||
ainformation.append('Type: {}'.format(dtype))
|
ainformation.append('{}Type:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), dtype))
|
||||||
ainformation.append('Arch: {}'.format(darch))
|
ainformation.append('{}Arch:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), darch))
|
||||||
ainformation.append('Machine: {}'.format(dmachine))
|
ainformation.append('{}Machine:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), dmachine))
|
||||||
ainformation.append('Features: {}'.format(' '.join(dfeatures)))
|
ainformation.append('{}Features:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), ' '.join(dfeatures)))
|
||||||
|
|
||||||
# PVC cluster information
|
# PVC cluster information
|
||||||
ainformation.append('')
|
ainformation.append('')
|
||||||
ainformation.append('State: {}'.format(dstate))
|
dstate_colour = {
|
||||||
ainformation.append('Active Hypervisor: {}'.format(dhypervisor))
|
'start': ansiiprint.green(),
|
||||||
ainformation.append('Last Hypervisor: {}'.format(dlasthypervisor))
|
'stop': ansiiprint.red(),
|
||||||
|
'shutdown': ansiiprint.yellow(),
|
||||||
|
'migrate': ansiiprint.blue(),
|
||||||
|
'unmigrate': ansiiprint.blue()
|
||||||
|
}
|
||||||
|
ainformation.append('{}State:{} {}{}{}'.format(ansiiprint.purple(), ansiiprint.end(), dstate_colour[dstate], dstate, ansiiprint.end()))
|
||||||
|
ainformation.append('{}Active Hypervisor:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), dhypervisor))
|
||||||
|
ainformation.append('{}Last Hypervisor:{} {}'.format(ansiiprint.purple(), ansiiprint.end(), dlasthypervisor))
|
||||||
|
|
||||||
if long_output == True:
|
if long_output == True:
|
||||||
# Disk list
|
# Disk list
|
||||||
ainformation.append('')
|
ainformation.append('')
|
||||||
ainformation.append('Disks: ID Type Name Dev Bus')
|
ainformation.append('{}Disks:{} {}ID Type Name Dev Bus{}'.format(ansiiprint.purple(), ansiiprint.end(), ansiiprint.bold(), ansiiprint.end()))
|
||||||
for disk in ddisks:
|
for disk in ddisks:
|
||||||
ainformation.append(' {0: <3} {1: <5} {2: <20} {3: <4} {4: <5}'.format(ddisks.index(disk), disk['type'], disk['name'], disk['dev'], disk['bus']))
|
ainformation.append(' {0: <3} {1: <5} {2: <40} {3: <4} {4: <5}'.format(ddisks.index(disk), disk['type'], disk['name'], disk['dev'], disk['bus']))
|
||||||
# Network list
|
# Network list
|
||||||
ainformation.append('')
|
ainformation.append('')
|
||||||
ainformation.append('Interfaces: ID Type Source Model MAC')
|
ainformation.append('{}Interfaces:{} {}ID Type Source Model MAC{}'.format(ansiiprint.purple(), ansiiprint.end(), ansiiprint.bold(), ansiiprint.end()))
|
||||||
for net in dnets:
|
for net in dnets:
|
||||||
ainformation.append(' {0: <3} {1: <8} {2: <8} {3: <8} {4: <17}'.format(dnets.index(net), net['type'], net['source'], net['model'], net['mac']))
|
ainformation.append(' {0: <3} {1: <8} {2: <8} {3: <8} {4: <17}'.format(dnets.index(net), net['type'], net['source'], net['model'], net['mac']))
|
||||||
# Controller list
|
# Controller list
|
||||||
ainformation.append('')
|
ainformation.append('')
|
||||||
ainformation.append('Controllers: ID Type Model')
|
ainformation.append('{}Controllers:{} {}ID Type Model{}'.format(ansiiprint.purple(), ansiiprint.end(), ansiiprint.bold(), ansiiprint.end()))
|
||||||
for controller in dcontrollers:
|
for controller in dcontrollers:
|
||||||
ainformation.append(' {0: <3} {1: <8} {2: <8}'.format(dcontrollers.index(controller), controller['type'], controller['model']))
|
ainformation.append(' {0: <3} {1: <8} {2: <8}'.format(dcontrollers.index(controller), controller['type'], controller['model']))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue