Skip to content

Instantly share code, notes, and snippets.

@jtomasek
Created July 26, 2013 11:46
Show Gist options
  • Save jtomasek/6088262 to your computer and use it in GitHub Desktop.
Save jtomasek/6088262 to your computer and use it in GitHub Desktop.
resource class capacities property
@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