refactor models, change map package storage and map package loading
This commit is contained in:
parent
0656090f27
commit
376d85f9b4
12 changed files with 226 additions and 150 deletions
|
@ -1,3 +1,5 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
@ -12,5 +14,25 @@ class Level(models.Model):
|
|||
package = models.ForeignKey('Package', on_delete=models.CASCADE, related_name='levels',
|
||||
verbose_name=_('map package'))
|
||||
|
||||
def jsonize(self):
|
||||
return OrderedDict((
|
||||
('name', self.name),
|
||||
('altitude', float(self.altitude)),
|
||||
))
|
||||
|
||||
@classmethod
|
||||
def fromfile(cls, data, package, name):
|
||||
if 'altitude' not in data:
|
||||
raise ValueError('%s.json: missing altitude.' % name)
|
||||
|
||||
if not isinstance(data['altitude'], (int, float)):
|
||||
raise ValueError('%s.json: altitude has to be in or float.')
|
||||
|
||||
return {
|
||||
'package': package,
|
||||
'name': name,
|
||||
'altitude': data['altitude'],
|
||||
}
|
||||
|
||||
class Meta:
|
||||
ordering = ['altitude']
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue