refactor models, change map package storage and map package loading

This commit is contained in:
Laura Klünder 2016-08-29 22:10:43 +02:00
parent 0656090f27
commit 376d85f9b4
12 changed files with 226 additions and 150 deletions

View file

@ -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']