#
#
-# Copyright (C) 2009 Google Inc.
+# Copyright (C) 2009, 2011 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
"""
+# pylint: disable-msg=W0232,R0201
+
+# W0232, since we use these as singletons rather than object holding
+# data
+
+# R0201, for the same reason
+
+# TODO: FileStorage initialised with paths whereas the others not
import logging
"""
raise NotImplementedError()
- def Modify(self, name, changes):
+ def Modify(self, name, changes): # pylint: disable-msg=W0613
"""Modifies an entity within the storage unit.
@type name: string
raise NotImplementedError()
-class FileStorage(_Base):
+class FileStorage(_Base): # pylint: disable-msg=W0223
"""File storage unit.
"""
return values
-class _LvmBase(_Base):
+class _LvmBase(_Base): # pylint: disable-msg=W0223
"""Base class for LVM storage containers.
@cvar LIST_FIELDS: list of tuples consisting of three elements: SF_*
if callable(mapper):
# we got a function, call it with all the declared fields
- val = mapper(*values)
+ val = mapper(*values) # pylint: disable-msg=W0142
elif len(values) == 1:
+ assert mapper is None, ("Invalid mapper value (neither callable"
+ " nor None) for one-element fields")
# we don't have a function, but we had a single field
# declared, pass it unchanged
val = values[0]
yield fields
-class LvmPvStorage(_LvmBase):
- """LVM Physical Volume storage unit.
+def _LvmPvGetAllocatable(attr):
+ """Determines whether LVM PV is allocatable.
+
+ @rtype: bool
"""
- @staticmethod
- def _GetAllocatable(attr):
- if attr:
- return (attr[0] == "a")
- else:
- logging.warning("Invalid PV attribute: %r", attr)
- return False
+ if attr:
+ return (attr[0] == "a")
+ else:
+ logging.warning("Invalid PV attribute: %r", attr)
+ return False
+
+class LvmPvStorage(_LvmBase): # pylint: disable-msg=W0223
+ """LVM Physical Volume storage unit.
+
+ """
LIST_COMMAND = "pvs"
# Make sure to update constants.VALID_STORAGE_FIELDS when changing field
(constants.SF_SIZE, ["pv_size"], _ParseSize),
(constants.SF_USED, ["pv_used"], _ParseSize),
(constants.SF_FREE, ["pv_free"], _ParseSize),
- (constants.SF_ALLOCATABLE, ["pv_attr"], _GetAllocatable),
+ (constants.SF_ALLOCATABLE, ["pv_attr"], _LvmPvGetAllocatable),
]
def _SetAllocatable(self, name, allocatable):