create() refuses to create types which don't exist

2019-08-17
Marnanel Thurman 2019-08-10 18:58:49 +01:00
rodzic e91b42bad1
commit 590d74d0df
3 zmienionych plików z 28 dodań i 3 usunięć

Wyświetl plik

@ -55,10 +55,14 @@ def create(
try:
import django_kepi.models as kepi_models
cls = getattr(locals()['kepi_models'], value['type'])
except AttributeError:
logger.warn("There's no type called %s",
value['type'])
return None
except KeyError:
# shouldn't happen!
logger.warn("The class '%s' wasn't exported properly",
type_spec['class'])
logger.warn("The class '%s' wasn't exported properly. "+\
"This shouldn't happen.",
value['type'])
return None
logger.debug('Class for %s is %s', value['type'], cls)

Wyświetl plik

@ -0,0 +1,19 @@
# Generated by Django 2.2.1 on 2019-08-10 16:40
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('django_kepi', '0002_auto_20190809_1639'),
]
operations = [
migrations.AlterField(
model_name='fetch',
name='date',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]

Wyświetl plik

@ -1,4 +1,5 @@
from django.test import TestCase
from unittest import skip
from django_kepi.create import create
from django_kepi.models import *
import logging
@ -25,6 +26,7 @@ class TestPolymorph(TestCase):
)
self.assertIsInstance(t, Actor)
@skip('Are Object etc really abstract?')
def test_abstract(self):
t = create(
f_type = 'Object',