Better handling of multipart DAISY.
[librarian.git] / src / librarian / elements / root / __init__.py
1 from ..base import WLElement
2 from ..masters import Master
3
4
5 class Utwor(WLElement):
6     CAN_HAVE_TEXT = False
7
8     @property
9     def meta(self):
10         if self.meta_object is not None:
11             return self.meta_object
12         else:
13             # Deprecated: allow RDF record in master.
14             for c in self:
15                 if isinstance(c, Master) and c.meta_object is not None:
16                     return c.meta_object
17             # This should not generally happen.
18             if self.getparent() is not None:
19                 return self.getparent().meta
20         # Fallback
21         return self.document.base_meta
22
23     @property
24     def master(self):
25         for c in self:
26             if isinstance(c, Master):
27                 return c