SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 3d7fcfd8 authored by George Katsikas's avatar George Katsikas :goat:
Browse files

lazy-load lxml only when needed

parent 006265f8
No related branches found
No related tags found
No related merge requests found
...@@ -243,8 +243,17 @@ class AuthorsTableOrganizationSelectForm(forms.ModelForm): ...@@ -243,8 +243,17 @@ class AuthorsTableOrganizationSelectForm(forms.ModelForm):
class CreateMetadataXMLForm(forms.ModelForm): class CreateMetadataXMLForm(forms.ModelForm):
schema = ET.XMLSchema(file=settings.STATIC_ROOT + settings.CROSSREF_SCHEMA_FILE) schema = None
parser = ET.XMLParser(schema=schema) parser = None
@classmethod
def initialize_lxml(cls):
if cls.schema is None:
cls.schema = ET.XMLSchema(
file=settings.STATIC_ROOT + settings.CROSSREF_SCHEMA_FILE
)
if cls.parser is None:
cls.parser = ET.XMLParser(schema=cls.schema)
class Meta: class Meta:
model = Publication model = Publication
...@@ -255,6 +264,9 @@ class CreateMetadataXMLForm(forms.ModelForm): ...@@ -255,6 +264,9 @@ class CreateMetadataXMLForm(forms.ModelForm):
self.xml_str = self.format_xml(self.decode_html_entities(xml)) self.xml_str = self.format_xml(self.decode_html_entities(xml))
kwargs["initial"] = {"metadata_xml": self.xml_str} kwargs["initial"] = {"metadata_xml": self.xml_str}
if self.schema is None or self.parser is None:
self.initialize_lxml()
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
@staticmethod @staticmethod
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment