diff --git a/colleges/converters.py b/colleges/converters.py index ffcbdaadd2dca89aefed96bf307d37b2d9300e6c..14efc72df801d14c41f578041e62e33e94f563e7 100644 --- a/colleges/converters.py +++ b/colleges/converters.py @@ -2,13 +2,20 @@ __copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" __license__ = "AGPL v3" -from colleges.models import College +from django.db.utils import ProgrammingError class CollegeSlugConverter: - regex = '|'.join([c.slug for c in College.objects.all()]) + + def __init__(self): + try: + from colleges.models import College + self.regex = '|'.join([c.slug for c in College.objects.all()]) + except ProgrammingError: + self.regex = 'physics' def to_python(self, value): + from colleges.models import College try: return College.objects.get(slug=value) except College.DoesNotExist: diff --git a/journals/converters.py b/journals/converters.py index 3064cbb38965995e6982f66005460444b885e8f8..f65b6a302290748b178e28c59f961bb1b3072534 100644 --- a/journals/converters.py +++ b/journals/converters.py @@ -2,13 +2,20 @@ __copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" __license__ = "AGPL v3" -from journals.models import Journal +from django.db.utils import ProgrammingError class JournalDOILabelConverter: - regex = '|'.join([j.doi_label for j in Journal.objects.all()]) + + def __init__(self): + try: + from journals.models import Journal + self.regex = '|'.join([j.doi_label for j in Journal.objects.all()]) + except ProgrammingError: + self.regex = 'SciPost' def to_python(self, value): + from journals.models import Journal try: return Journal.objects.get(doi_label=value).doi_label except Journal.DoesNotExist: diff --git a/ontology/converters.py b/ontology/converters.py index c12848a46b347b11c9b1a6b864859f0c86e14956..dcc9e90e49e9ab8e2a1f2a930742172205ad4a34 100644 --- a/ontology/converters.py +++ b/ontology/converters.py @@ -2,13 +2,20 @@ __copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" __license__ = "AGPL v3" -from .models import AcademicField, Specialty +from django.db.utils import ProgrammingError class AcademicFieldSlugConverter: - regex = '|'.join([a.slug for a in AcademicField.objects.all()]) + + def __init__(self): + try: + from ontology.models import AcademicField + self.regex = '|'.join([a.slug for a in AcademicField.objects.all()]) + except ProgrammingError: + self.regex = 'physics' def to_python(self, value): + from ontology.models import AcademicField try: return AcademicField.objects.get(slug=value) except AcademicField.DoesNotExist: @@ -20,9 +27,16 @@ class AcademicFieldSlugConverter: class SpecialtySlugConverter: - regex = '|'.join([s.slug for s in Specialty.objects.all()]) + + def __init__(self): + try: + from ontology.models import Specialty + self.regex = '|'.join([s.slug for s in Specialty.objects.all()]) + except ProgrammingError: + self.regex = 'phys-ct' def to_python(self, value): + from ontology.models import Specialty try: return Specialty.objects.get(slug=value) except Specialty.DoesNotExist: