From fda2ee954a48e143a69ced2d5fb0f12a864229b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Mart=C3=ADn?= Date: Wed, 9 Sep 2015 23:32:26 +0200 Subject: [PATCH] `name` property is now language dependant --- .../migrations/0026_auto_20150909_2331.py | 39 +++++++++++++++++++ amiibofindr/apps/amiibo/models.py | 28 +++++++++++-- 2 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 amiibofindr/apps/amiibo/migrations/0026_auto_20150909_2331.py diff --git a/amiibofindr/apps/amiibo/migrations/0026_auto_20150909_2331.py b/amiibofindr/apps/amiibo/migrations/0026_auto_20150909_2331.py new file mode 100644 index 0000000..0e13a2c --- /dev/null +++ b/amiibofindr/apps/amiibo/migrations/0026_auto_20150909_2331.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('amiibo', '0025_amiibocard_card_type'), + ] + + operations = [ + migrations.AddField( + model_name='collection', + name='name_de', + field=models.CharField(max_length=64, null=True, blank=True), + ), + migrations.AddField( + model_name='collection', + name='name_en', + field=models.CharField(max_length=64, null=True, blank=True), + ), + migrations.AddField( + model_name='collection', + name='name_es', + field=models.CharField(max_length=64, null=True, blank=True), + ), + migrations.AddField( + model_name='collection', + name='name_fr', + field=models.CharField(max_length=64, null=True, blank=True), + ), + migrations.AddField( + model_name='collection', + name='name_it', + field=models.CharField(max_length=64, null=True, blank=True), + ), + ] diff --git a/amiibofindr/apps/amiibo/models.py b/amiibofindr/apps/amiibo/models.py index 10311f6..d73177f 100644 --- a/amiibofindr/apps/amiibo/models.py +++ b/amiibofindr/apps/amiibo/models.py @@ -1,19 +1,16 @@ # coding: utf-8 -# python import os -# django from django.apps import apps from django.conf import settings from django.core.urlresolvers import reverse from django.db import models from django.utils.text import slugify +from django.utils.translation import activate, deactivate, get_language -# 3rd party from amazonify import amazonify -# project from amiibofindr.apps.shop.crawlers import Crawler @@ -45,6 +42,13 @@ def shop_item_upload(self, filename): # Models class Collection(models.Model): slug = models.SlugField(max_length=128) + + name_en = models.CharField(max_length=64, blank=True, null=True) + name_es = models.CharField(max_length=64, blank=True, null=True) + name_fr = models.CharField(max_length=64, blank=True, null=True) + name_it = models.CharField(max_length=64, blank=True, null=True) + name_de = models.CharField(max_length=64, blank=True, null=True) + name_eu = models.CharField(max_length=128) name_jp = models.CharField(max_length=128, blank=True, null=True) name_us = models.CharField(max_length=128, blank=True, null=True) @@ -73,6 +77,14 @@ class Collection(models.Model): @property def name(self): + name = getattr(self, 'name_{}'.format(get_language()), None) + + if name: + return name + + if self.name_en: + return self.name_en + return self.name_eu def __unicode__(self): @@ -152,6 +164,14 @@ class Amiibo(models.Model): @property def name(self): + name = getattr(self, 'name_{}'.format(get_language()), None) + + if name: + return name + + if self.name_en: + return self.name_en + return self.name_eu