source: trunk/packages/invirt-database/python/database/owner.py @ 2198

Last change on this file since 2198 was 2192, checked in by price, 16 years ago

fold FormattableRecord?, NullableRecord? into Record

also shorten types in lists to name

(Done with iannucci.)

  • Property svn:executable set to *
File size: 1.4 KB
Line 
1from record import Record
2
3class Owner(Record):
4    _f = {
5        'ram_quota_total': (512, 'MiB'),
6        'ram_quota_single': (512, 'MiB'),
7        'disk_quota_total': (50, 'GiB'),
8        'disk_quota_single': (50, 'GiB'),
9        'vms_quota_total': (10, ''),
10        'vms_quota_active': (4, '')
11    }
12    _default = dict([(_k,_v[0]) for _k,_v in _f.items()])
13    def _unitFormatter(unit):
14        return lambda v:'%s%s'%(v,unit)
15    _format = dict([(_k,_unitFormatter(_v[1])) for _k,_v in _f.items()])
16    _identity_field = 'owner_id'
17
18    @classmethod
19    def getMemoryQuotas(cls, owner):
20        owner_info = cls.query().filter_by(owner_id=owner).first()
21        if owner_info == None:
22            owner_info = cls(owner_id=owner)
23        return (owner_info.get('ram_quota_total'), owner_info.get('ram_quota_single'))
24
25    @classmethod
26    def getDiskQuotas(cls, owner):
27        owner_info = cls.query().filter_by(owner_id=owner).first()
28        if owner_info == None:
29            owner_info = cls(owner_id=owner)
30        return (owner_info.get('disk_quota_total'), owner_info.get('disk_quota_single'))
31
32    @classmethod
33    def getVMQuotas(cls, owner):
34        owner_info = cls.query().filter_by(owner_id=owner).first()
35        if owner_info == None:
36            owner_info = cls(owner_id=owner)
37        return (owner_info.get('vms_quota_total'), owner_info.get('vms_quota_active'))
Note: See TracBrowser for help on using the repository browser.