move validation outside librarian
authorJan Szejko <janek37@gmail.com>
Wed, 1 Feb 2017 13:16:25 +0000 (14:16 +0100)
committerJan Szejko <janek37@gmail.com>
Wed, 1 Feb 2017 13:16:25 +0000 (14:16 +0100)
librarian/document.py

index a4a8593..462b1ba 100755 (executable)
@@ -32,20 +32,11 @@ class Document(object):
                     tree = etree.parse(StringIO(etree.tostring(root_elem)), parser)
                     tree.xinclude()
                     self.edoc = tree
-                    root_elem = self.edoc.getroot()
                 else:
                     raise ValueError("Invalid root element. Found '%s', should be '%s'" % (
                         root_elem.tag, SSTNS('section')))
             else:
                 raise ValueError("Invalid class of root element. Use librarian.parser.SSTParser.")
-        if len(root_elem) < 1 or root_elem[0].tag != SSTNS('metadata'):
-            raise ValueError("The first tag in section should be metadata")
-        if len(root_elem) < 2 or root_elem[1].tag != SSTNS('header'):
-            raise ValueError("The first tag after metadata should be header")
-        header = root_elem[1]
-        if not getattr(header, 'text', None) or not header.text.strip():
-            raise ValueError(
-                "The first header should contain the title in plain text (no links, emphasis etc.) and cannot be empty")
 
     @classmethod
     def from_string(cls, xml, *args, **kwargs):