util: Add a few duplicated functions

This commit is contained in:
Cole Robinson 2011-04-10 17:08:23 -04:00
parent 39fe2ed1f7
commit 75c3d4dc1a
8 changed files with 48 additions and 66 deletions

View File

@ -284,11 +284,7 @@ class vmmConnection(vmmGObject):
def pretty_host_memory_size(self): def pretty_host_memory_size(self):
if self.vmm is None: if self.vmm is None:
return "" return ""
mem = self.host_memory_size() return util.pretty_mem(self.host_memory_size())
if mem > (10 * 1024 * 1024):
return "%2.2f GB" % (mem / (1024.0 * 1024.0))
else:
return "%2.0f MB" % (mem / 1024.0)
def host_memory_size(self): def host_memory_size(self):
if self.vmm is None: if self.vmm is None:
@ -1595,11 +1591,7 @@ class vmmConnection(vmmGObject):
return self._get_record_helper("memory") return self._get_record_helper("memory")
def pretty_stats_memory(self): def pretty_stats_memory(self):
mem = self.stats_memory() return util.pretty_mem(self.stats_memory())
if mem > (10 * 1024 * 1024):
return "%2.2f GB" % (mem / (1024.0 * 1024.0))
else:
return "%2.0f MB" % (mem / 1024.0)
def stats_memory_percentage(self): def stats_memory_percentage(self):
return self._get_record_helper("memoryPercent") return self._get_record_helper("memoryPercent")

View File

@ -824,18 +824,10 @@ class vmmDomainBase(vmmLibvirtObject):
return self.get_memory_pretty() return self.get_memory_pretty()
def get_memory_pretty(self): def get_memory_pretty(self):
mem = self.get_memory() return util.pretty_mem(self.get_memory())
if mem > (10 * 1024 * 1024):
return "%2.2f GB" % (mem / (1024.0 * 1024.0))
else:
return "%2.0f MB" % (mem / 1024.0)
def maximum_memory_pretty(self): def maximum_memory_pretty(self):
mem = self.maximum_memory() return util.pretty_mem(self.maximum_memory())
if mem > (10 * 1024 * 1024):
return "%2.2f GB" % (mem / (1024.0 * 1024.0))
else:
return "%2.0f MB" % (mem / 1024.0)
def cpu_time_pretty(self): def cpu_time_pretty(self):
return "%2.2f %%" % self.cpu_time_percentage() return "%2.2f %%" % self.cpu_time_percentage()

View File

@ -18,7 +18,6 @@
# MA 02110-1301 USA. # MA 02110-1301 USA.
# #
import virtinst
from virtinst import Interface from virtinst import Interface
from virtManager import util from virtManager import util
@ -52,15 +51,14 @@ class vmmInterface(vmmLibvirtObject):
def xpath(self, *args, **kwargs): def xpath(self, *args, **kwargs):
# Must use this function for ALL XML parsing # Must use this function for ALL XML parsing
ret = virtinst.util.get_xml_path(self.get_xml(), *args, **kwargs) ret = util.xpath(self.get_xml(), *args, **kwargs)
if ret: if ret:
return ret return ret
if not self.is_active(): if not self.is_active():
return ret return ret
# The running config did not have the info requested # The running config did not have the info requested
return virtinst.util.get_xml_path(self.get_xml(inactive=True), return util.xpath(self.get_xml(inactive=True), *args, **kwargs)
*args, **kwargs)
def set_active(self, state): def set_active(self, state):
self.active = state self.active = state

View File

@ -18,8 +18,7 @@
# MA 02110-1301 USA. # MA 02110-1301 USA.
# #
import virtinst.util as util from virtManager import util
from virtManager.IPy import IP from virtManager.IPy import IP
from virtManager.libvirtobject import vmmLibvirtObject from virtManager.libvirtobject import vmmLibvirtObject
@ -102,8 +101,8 @@ class vmmNetwork(vmmLibvirtObject):
def get_ipv4_network(self): def get_ipv4_network(self):
xml = self.get_xml() xml = self.get_xml()
addrStr = util.get_xml_path(xml, "/network/ip/@address") addrStr = util.xpath(xml, "/network/ip/@address")
netmaskStr = util.get_xml_path(xml, "/network/ip/@netmask") netmaskStr = util.xpath(xml, "/network/ip/@netmask")
netmask = IP(netmaskStr) netmask = IP(netmaskStr)
gateway = IP(addrStr) gateway = IP(addrStr)
@ -113,14 +112,14 @@ class vmmNetwork(vmmLibvirtObject):
def get_ipv4_forward(self): def get_ipv4_forward(self):
xml = self.get_xml() xml = self.get_xml()
fw = util.get_xml_path(xml, "/network/forward/@mode") fw = util.xpath(xml, "/network/forward/@mode")
forwardDev = util.get_xml_path(xml, "/network/forward/@dev") forwardDev = util.xpath(xml, "/network/forward/@dev")
return [fw, forwardDev] return [fw, forwardDev]
def get_ipv4_dhcp_range(self): def get_ipv4_dhcp_range(self):
xml = self.get_xml() xml = self.get_xml()
dhcpstart = util.get_xml_path(xml, "/network/ip/dhcp/range[1]/@start") dhcpstart = util.xpath(xml, "/network/ip/dhcp/range[1]/@start")
dhcpend = util.get_xml_path(xml, "/network/ip/dhcp/range[1]/@end") dhcpend = util.xpath(xml, "/network/ip/dhcp/range[1]/@end")
if not dhcpstart or not dhcpend: if not dhcpstart or not dhcpend:
return None return None
@ -135,6 +134,6 @@ class vmmNetwork(vmmLibvirtObject):
forward = self.get_ipv4_forward()[0] forward = self.get_ipv4_forward()[0]
if forward and forward != "nat": if forward and forward != "nat":
return True return True
return bool(util.get_xml_path(xml, "/network/ip/dhcp/bootp/@file")) return bool(util.xpath(xml, "/network/ip/dhcp/bootp/@file"))
vmmLibvirtObject.type_register(vmmNetwork) vmmLibvirtObject.type_register(vmmNetwork)

View File

@ -20,8 +20,8 @@
import gobject import gobject
import virtinst import virtinst
import virtinst.util as util
from virtManager import util
from virtManager.libvirtobject import vmmLibvirtObject from virtManager.libvirtobject import vmmLibvirtObject
from virtManager.storagevol import vmmStorageVolume from virtManager.storagevol import vmmStorageVolume
@ -87,24 +87,24 @@ class vmmStoragePool(vmmLibvirtObject):
return self.pool.autostart() return self.pool.autostart()
def get_target_path(self): def get_target_path(self):
return util.get_xml_path(self.get_xml(), "/pool/target/path") return util.xpath(self.get_xml(), "/pool/target/path")
def get_allocation(self): def get_allocation(self):
return long(util.get_xml_path(self.get_xml(), "/pool/allocation")) return long(util.xpath(self.get_xml(), "/pool/allocation"))
def get_available(self): def get_available(self):
return long(util.get_xml_path(self.get_xml(), "/pool/available")) return long(util.xpath(self.get_xml(), "/pool/available"))
def get_capacity(self): def get_capacity(self):
return long(util.get_xml_path(self.get_xml(), "/pool/capacity")) return long(util.xpath(self.get_xml(), "/pool/capacity"))
def get_pretty_allocation(self): def get_pretty_allocation(self):
return self._prettyify(self.get_allocation()) return util.pretty_bytes(self.get_allocation())
def get_pretty_available(self): def get_pretty_available(self):
return self._prettyify(self.get_available()) return util.pretty_bytes(self.get_available())
def get_pretty_capacity(self): def get_pretty_capacity(self):
return self._prettyify(self.get_capacity()) return util.pretty_bytes(self.get_capacity())
def get_type(self): def get_type(self):
return util.get_xml_path(self.get_xml(), "/pool/@type") return util.xpath(self.get_xml(), "/pool/@type")
def get_volumes(self): def get_volumes(self):
self.update_volumes() self.update_volumes()
@ -139,11 +139,4 @@ class vmmStoragePool(vmmLibvirtObject):
volname) volname)
self._volumes = new_vol_list self._volumes = new_vol_list
def _prettyify(self, val):
if val > (1024 * 1024 * 1024):
return "%2.2f GB" % (val / (1024.0 * 1024.0 * 1024.0))
else:
return "%2.2f MB" % (val / (1024.0 * 1024.0))
vmmLibvirtObject.type_register(vmmStoragePool) vmmLibvirtObject.type_register(vmmStoragePool)

View File

@ -18,8 +18,7 @@
# MA 02110-1301 USA. # MA 02110-1301 USA.
# #
import virtinst.util as util from virtManager import util
from virtManager.libvirtobject import vmmLibvirtObject from virtManager.libvirtobject import vmmLibvirtObject
class vmmStorageVolume(vmmLibvirtObject): class vmmStorageVolume(vmmLibvirtObject):
@ -49,28 +48,22 @@ class vmmStorageVolume(vmmLibvirtObject):
del(self.vol) del(self.vol)
def get_target_path(self): def get_target_path(self):
return util.get_xml_path(self.get_xml(), "/volume/target/path") return util.xpath(self.get_xml(), "/volume/target/path")
def get_format(self): def get_format(self):
return util.get_xml_path(self.get_xml(), "/volume/target/format/@type") return util.xpath(self.get_xml(), "/volume/target/format/@type")
def get_allocation(self): def get_allocation(self):
return long(util.get_xml_path(self.get_xml(), "/volume/allocation")) return long(util.xpath(self.get_xml(), "/volume/allocation"))
def get_capacity(self): def get_capacity(self):
return long(util.get_xml_path(self.get_xml(), "/volume/capacity")) return long(util.xpath(self.get_xml(), "/volume/capacity"))
def get_pretty_capacity(self): def get_pretty_capacity(self):
return self._prettyify(self.get_capacity()) return util.pretty_bytes(self.get_capacity())
def get_pretty_allocation(self): def get_pretty_allocation(self):
return self._prettyify(self.get_allocation()) return util.pretty_bytes(self.get_allocation())
def get_type(self): def get_type(self):
return util.get_xml_path(self.get_xml(), "/volume/format/@type") return util.xpath(self.get_xml(), "/volume/format/@type")
def _prettyify(self, val):
if val > (1024 * 1024 * 1024):
return "%2.2f GB" % (val / (1024.0 * 1024.0 * 1024.0))
else:
return "%2.2f MB" % (val / (1024.0 * 1024.0))
vmmLibvirtObject.type_register(vmmStorageVolume) vmmLibvirtObject.type_register(vmmStorageVolume)

View File

@ -71,8 +71,7 @@ def host_disk_space(conn):
# FIXME: make sure not inactive? # FIXME: make sure not inactive?
# FIXME: use a conn specific function after we send pool-added # FIXME: use a conn specific function after we send pool-added
pool.refresh() pool.refresh()
avail = int(virtinst.util.get_xml_path(pool.get_xml(), avail = int(util.xpath(pool.get_xml(), "/pool/available"))
"/pool/available"))
elif not conn.is_remote(): elif not conn.is_remote():
vfs = os.statvfs(os.path.dirname(path)) vfs = os.statvfs(os.path.dirname(path))

View File

@ -400,3 +400,19 @@ def iface_in_use_by(conn, name):
use_str += iface.get_name() use_str += iface.get_name()
return use_str return use_str
def pretty_mem(val):
val = int(val)
if val > (10 * 1024 * 1024):
return "%2.2f GB" % (val / (1024.0 * 1024.0))
else:
return "%2.0f MB" % (val / 1024.0)
def pretty_bytes(val):
val = int(val)
if val > (1024 * 1024 * 1024):
return "%2.2f GB" % (val / (1024.0 * 1024.0 * 1024.0))
else:
return "%2.2f MB" % (val / (1024.0 * 1024.0))
xpath = virtinst.util.get_xml_path