fixes for edge cases
[librarian.git] / src / librarian / elements / paragraphs / akap.py
index b0c0329..004f8ec 100644 (file)
@@ -3,11 +3,25 @@ from ..base import WLElement
 
 class Akap(WLElement):
     STRIP = True
 
 class Akap(WLElement):
     STRIP = True
+    SHOULD_HAVE_ID = True
 
     TXT_TOP_MARGIN = 2
     TXT_BOTTOM_MARGIN = 2
     TXT_LEGACY_TOP_MARGIN = 2
     TXT_LEGACY_BOTTOM_MARGIN = 0
 
 
     TXT_TOP_MARGIN = 2
     TXT_BOTTOM_MARGIN = 2
     TXT_LEGACY_TOP_MARGIN = 2
     TXT_LEGACY_BOTTOM_MARGIN = 0
 
-    EPUB_TAG = HTML_TAG = 'p'
+    HTML_TAG = 'p'
     EPUB_CLASS = HTML_CLASS = 'paragraph'
     EPUB_CLASS = HTML_CLASS = 'paragraph'
+
+    @property
+    def EPUB_TAG(self):
+        try:
+            return self._set_EPUB_TAG
+        except AttributeError:
+            if self.in_context_of('START_INLINE'):
+                self.signal('INLINE')
+                self._set_EPUB_TAG = None
+            else:
+                self._set_EPUB_TAG = 'p'
+            return self._set_EPUB_TAG