start working on expanded objects
[plstackapi.git] / planetstack / core / xoslib / objects / sliceplus.py
1 from core.models.slice import Slice
2
3 class SlicePlus(Slice):
4     def getSliceInfo(self, user=None):
5         used_sites = []
6         used_deployments = []
7         sliverCount = 0
8         for sliver in self.slivers.all():
9             site = sliver.node.site
10             deployment = sliver.node.deployment
11             used_sites[site.name] = used.sites.get(site.name, 0) + 1
12             used_deployments[deployment.name] = used_deployments.get(deployment.name, 0) + 1
13
14         roles = []
15         if (user!=None):
16             roles = [x.role for x in self.slice_privileges.filter(user=user)]
17
18         return {"sitesUsed": used_sites,
19                 "deploymentsUsed": used_deployments,
20                 "sliverCount": sliceCount,
21                 "siteCount": len(used_sites.keys()),
22                 "roles": roles}