@property
    def description(self):
        """An HTML-formatted description of this annotation.

        The description contains the target text that the user selected to
        annotate, as a <blockquote>, and the body text of the annotation
        itself.

        """
        def get_selection():
            targets = self.annotation.get("target")
            if not isinstance(targets, list):
                return
            for target in targets:
                if not isinstance(target, dict):
                    continue
                selectors = target.get("selector")
                if not isinstance(selectors, list):
                    continue
                for selector in selectors:
                    if not isinstance(selector, dict):
                        continue
                    if selector in "exact":
                        return selector["exact"]

        description = ""

        selection = get_selection()
        if selection:
            selection = jinja2.escape(selection)
            description += "&lt;blockquote&gt;{selection}&lt;/blockquote&gt;".format(
                selection=selection)

        text = self.annotation.get("text")
        if text:
            text = jinja2.escape(text)
            description += "{text}".format(text=text)

        return description
dataset/ETHPy150Open hypothesis/h/h/presenters.py/AnnotationHTMLPresenter.description/swapped operands of `in`