Created
July 26, 2013 11:46
-
-
Save jtomasek/6088262 to your computer and use it in GitHub Desktop.
resource class capacities property
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@property | |
def capacities(self): | |
if not hasattr(self, '_capacities'): | |
# racks = self.list_racks | |
capacities = [rack.capacities for rack in self.list_racks] | |
def add_capacities(c1, c2): | |
return [Capacity({'name': a.name, | |
'value': int(a.value) + int(b.value), | |
'unit': a.unit}) for a, b in zip(c1, c2)] | |
sums = reduce(add_capacities, capacities) | |
self._capacities = sums | |
# capacities = list(itertools.chain(*[rack.capacities for rack in self.list_racks])) | |
# self._capacities = [] | |
# capacity_names = [] | |
# for capacity in capacities: | |
# if capacity.name in capacity_names: | |
# capacities = [c for c in self._capacities if c.name == capacity.name] | |
# capacities[0].value = int(capacities[0].value) + int(capacity.value) | |
# else: | |
# capacity_names.append(capacity.name) | |
# self._capacities.append(capacity) | |
return self._capacities |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment