當前位置: 首頁>>代碼示例>>Python>>正文


Python nodes.FixedTextElement方法代碼示例

本文整理匯總了Python中docutils.nodes.FixedTextElement方法的典型用法代碼示例。如果您正苦於以下問題:Python nodes.FixedTextElement方法的具體用法?Python nodes.FixedTextElement怎麽用?Python nodes.FixedTextElement使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在docutils.nodes的用法示例。


在下文中一共展示了nodes.FixedTextElement方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: default_departure

# 需要導入模塊: from docutils import nodes [as 別名]
# 或者: from docutils.nodes import FixedTextElement [as 別名]
def default_departure(self, node):
        """Default node depart method."""
        self.level -= 1
        if not self.in_simple:
            self.output.append(self.indent*self.level)
        self.output.append(node.endtag())
        if isinstance(node, (nodes.FixedTextElement, nodes.literal)):
            self.fixed_text -= 1
        if isinstance(node, self.simple_nodes):
            self.in_simple -= 1
        if not self.in_simple:
            self.output.append(self.newline)


    # specific visit and depart methods
    # --------------------------------- 
開發者ID:skarlekar,項目名稱:faces,代碼行數:18,代碼來源:docutils_xml.py

示例2: default_visit

# 需要導入模塊: from docutils import nodes [as 別名]
# 或者: from docutils.nodes import FixedTextElement [as 別名]
def default_visit(self, node):
        """Default node visit method."""
        if not self.in_simple:
            self.output.append(self.indent*self.level)
        self.output.append(node.starttag(xml.sax.saxutils.quoteattr))
        self.level += 1
        # @@ make nodes.literal an instance of FixedTextElement?
        if isinstance(node, (nodes.FixedTextElement, nodes.literal)):
            self.fixed_text += 1
        if isinstance(node, self.simple_nodes):
            self.in_simple += 1
        if not self.in_simple:
            self.output.append(self.newline) 
開發者ID:skarlekar,項目名稱:faces,代碼行數:15,代碼來源:docutils_xml.py

示例3: _replace_pattern

# 需要導入模塊: from docutils import nodes [as 別名]
# 或者: from docutils.nodes import FixedTextElement [as 別名]
def _replace_pattern(self, pattern, url_format):
        project = self.document.settings.env.config.github_project

        for node in self.document.traverse(nodes.Text):
            parent = node.parent
            if isinstance(parent, (nodes.literal, nodes.FixedTextElement)):
                continue

            text = str(node)
            new_nodes = []
            last_ref_end = 0
            for match in pattern.finditer(text):
                head = text[last_ref_end:match.start()]
                if head:
                    new_nodes.append(nodes.Text(head))

                last_ref_end = match.end()
                ref = url_format.format(project, match.group(1))
                link = nodes.reference(
                    match.group(0),
                    match.group(0),
                    refuri=ref
                )
                new_nodes.append(link)

            if not new_nodes:
                continue

            tail = text[last_ref_end:]
            if tail:
                new_nodes.append(nodes.Text(tail))

            parent.replace(node, new_nodes) 
開發者ID:streamlink,項目名稱:streamlink,代碼行數:35,代碼來源:ext_github.py

示例4: apply

# 需要導入模塊: from docutils import nodes [as 別名]
# 或者: from docutils.nodes import FixedTextElement [as 別名]
def apply(self):
        smart_quotes = self.document.settings.smart_quotes
        if not smart_quotes:
            return
        try:
            alternative = smart_quotes.startswith('alt')
        except AttributeError:
            alternative = False
        # print repr(alternative)

        document_language = self.document.settings.language_code

        # "Educate" quotes in normal text. Handle each block of text
        # (TextElement node) as a unit to keep context around inline nodes:
        for node in self.document.traverse(nodes.TextElement):
            # skip preformatted text blocks and special elements:
            if isinstance(node, (nodes.FixedTextElement, nodes.Special)):
                continue
            # nested TextElements are not "block-level" elements:
            if isinstance(node.parent, nodes.TextElement):
                continue

            # list of text nodes in the "text block":
            txtnodes = [txtnode for txtnode in node.traverse(nodes.Text)
                        if not isinstance(txtnode.parent,
                                          nodes.option_string)]

            # language: use typographical quotes for language "lang"
            lang = node.get_language_code(document_language)
            # use alternative form if `smart-quotes` setting starts with "alt":
            if alternative:
                if '-x-altquot' in lang:
                    lang = lang.replace('-x-altquot', '')
                else:
                    lang += '-x-altquot'
            # drop subtags missing in quotes:
            for tag in utils.normalize_language_tag(lang):
                if tag in smartquotes.smartchars.quotes:
                    lang = tag
                    break
            else: # language not supported: (keep ASCII quotes)
                if lang not in self.unsupported_languages:
                    self.document.reporter.warning('No smart quotes '
                        'defined for language "%s".'%lang, base_node=node)
                self.unsupported_languages.add(lang)
                lang = ''

            # Iterator educating quotes in plain text:
            # '2': set all, using old school en- and em- dash shortcuts
            teacher = smartquotes.educate_tokens(self.get_tokens(txtnodes),
                                                 attr='2', language=lang)

            for txtnode, newtext in zip(txtnodes, teacher):
                txtnode.parent.replace(txtnode, nodes.Text(newtext))

            self.unsupported_languages = set() # reset 
開發者ID:skarlekar,項目名稱:faces,代碼行數:58,代碼來源:universal.py


注:本文中的docutils.nodes.FixedTextElement方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。