Source code for yael.opfmeta2

#!/usr/bin/env python
# coding=utf-8

"""
An OPF `<meta>` EPUB 2 metadatum, child of the `<metadata>`.
"""

from yael.jsonable import JSONAble
from yael.opfmetadatum import OPFMetadatum
import yael.util

__author__ = "Alberto Pettarin"
__copyright__ = "Copyright 2015, Alberto Pettarin (www.albertopettarin.it)"
__license__ = "MIT"
__version__ = "0.0.6"
__email__ = "alberto@albertopettarin.it"
__status__ = "Development"

[docs]class OPFMeta2(OPFMetadatum): """ Build an OPF `<meta>` EPUB 2 metadatum or parse it from `obj` or `string`. """ A_CONTENT = "content" A_ID = "id" A_NAME = "name" V_COVER = "cover" def __init__(self, internal_path=None, obj=None, string=None): self.v_content = None self.v_id = None self.v_name = None self.v_tag = None self.v_text = None OPFMetadatum.__init__( self, internal_path=internal_path, obj=obj, string=string) def json_object(self, recursive=True): obj = { "content": self.v_content, "id": self.v_id, "name": self.v_name, "tag": self.v_tag, "text": self.v_text, "refinements": len(self.refinements), } if recursive: obj["refinements"] = JSONAble.safe(self.refinements) return obj def parse_object(self, obj): self.v_content = obj.get(OPFMeta2.A_CONTENT) self.v_id = obj.get(OPFMeta2.A_ID) self.v_name = obj.get(OPFMeta2.A_NAME) self.v_tag = obj.tag self.v_text = yael.util.safe_strip(obj.text) @property def v_content(self): """ The value of the `content` attribute. :rtype: str """ return self.__v_content @v_content.setter def v_content(self, v_content): self.__v_content = v_content @property def v_id(self): """ The value of the `id` attribute. :rtype: str """ return self.__v_id @v_id.setter def v_id(self, v_id): self.__v_id = v_id @property def v_name(self): """ The value of the `name` attribute. :rtype: str """ return self.__v_name @v_name.setter def v_name(self, v_name): self.__v_name = v_name @property def v_tag(self): """ The tag of this metadatum. :rtype: str """ return self.__v_tag @v_tag.setter def v_tag(self, v_tag): self.__v_tag = v_tag @property def v_text(self): """ The text of this metadatum. :rtype: str """ return self.__v_text @v_text.setter def v_text(self, v_text): self.__v_text = v_text