⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 __init__.py

📁 Requirement =====================================================================================
💻 PY
📖 第 1 页 / 共 4 页
字号:
        self.set_class_on_child(node, 'first', 0)        self.set_class_on_child(node, 'last', -1)    def visit_Text(self, node):        text = node.astext()        encoded = self.encode(text)        if self.in_mailto and self.settings.cloak_email_addresses:            encoded = self.cloak_email(encoded)        self.body.append(encoded)    def depart_Text(self, node):        pass    def visit_abbreviation(self, node):        # @@@ implementation incomplete ("title" attribute)        self.body.append(self.starttag(node, 'abbr', ''))    def depart_abbreviation(self, node):        self.body.append('</abbr>')    def visit_acronym(self, node):        # @@@ implementation incomplete ("title" attribute)        self.body.append(self.starttag(node, 'acronym', ''))    def depart_acronym(self, node):        self.body.append('</acronym>')    def visit_address(self, node):        self.visit_docinfo_item(node, 'address', meta=None)        self.body.append(self.starttag(node, 'pre', CLASS='address'))    def depart_address(self, node):        self.body.append('\n</pre>\n')        self.depart_docinfo_item()    def visit_admonition(self, node, name=''):        self.body.append(self.start_tag_with_title(            node, 'div', CLASS=(name or 'admonition')))        if name:            node.insert(0, nodes.title(name, self.language.labels[name]))        self.set_first_last(node)    def depart_admonition(self, node=None):        self.body.append('</div>\n')    def visit_attention(self, node):        self.visit_admonition(node, 'attention')    def depart_attention(self, node):        self.depart_admonition()    attribution_formats = {'dash': ('&mdash;', ''),                           'parentheses': ('(', ')'),                           'parens': ('(', ')'),                           'none': ('', '')}    def visit_attribution(self, node):        prefix, suffix = self.attribution_formats[self.settings.attribution]        self.context.append(suffix)        self.body.append(            self.starttag(node, 'p', prefix, CLASS='attribution'))    def depart_attribution(self, node):        self.body.append(self.context.pop() + '</p>\n')    def visit_author(self, node):        if isinstance(node.parent, nodes.authors):            if self.author_in_authors:                self.body.append('\n<br />')        else:            self.visit_docinfo_item(node, 'author')    def depart_author(self, node):        if isinstance(node.parent, nodes.authors):            self.author_in_authors += 1        else:            self.depart_docinfo_item()    def visit_authors(self, node):        self.visit_docinfo_item(node, 'authors')        self.author_in_authors = 0      # initialize counter    def depart_authors(self, node):        self.depart_docinfo_item()        self.author_in_authors = None    def visit_block_quote(self, node):        self.body.append(self.starttag(node, 'blockquote'))    def depart_block_quote(self, node):        self.body.append('</blockquote>\n')    def check_simple_list(self, node):        """Check for a simple list that can be rendered compactly."""        visitor = SimpleListChecker(self.document)        try:            node.walk(visitor)        except nodes.NodeFound:            return None        else:            return 1    def is_compactable(self, node):        return ('compact' in node['classes']                or (self.settings.compact_lists                    and 'open' not in node['classes']                    and (self.compact_simple                         or self.topic_classes == ['contents']                         or self.check_simple_list(node))))    def visit_bullet_list(self, node):        atts = {}        old_compact_simple = self.compact_simple        self.context.append((self.compact_simple, self.compact_p))        self.compact_p = None        self.compact_simple = self.is_compactable(node)        if self.compact_simple and not old_compact_simple:            atts['class'] = 'simple'        self.body.append(self.starttag(node, 'ul', **atts))    def depart_bullet_list(self, node):        self.compact_simple, self.compact_p = self.context.pop()        self.body.append('</ul>\n')    def visit_caption(self, node):        self.body.append(self.starttag(node, 'p', '', CLASS='caption'))    def depart_caption(self, node):        self.body.append('</p>\n')    def visit_caution(self, node):        self.visit_admonition(node, 'caution')    def depart_caution(self, node):        self.depart_admonition()    def visit_citation(self, node):        self.body.append(self.starttag(node, 'table',                                       CLASS='docutils citation',                                       frame="void", rules="none"))        self.body.append('<colgroup><col class="label" /><col /></colgroup>\n'                         '<tbody valign="top">\n'                         '<tr>')        self.footnote_backrefs(node)    def depart_citation(self, node):        self.body.append('</td></tr>\n'                         '</tbody>\n</table>\n')    def visit_citation_reference(self, node):        href = '#' + node['refid']        self.body.append(self.starttag(            node, 'a', '[', CLASS='citation-reference', href=href))    def depart_citation_reference(self, node):        self.body.append(']</a>')    def visit_classifier(self, node):        self.body.append(' <span class="classifier-delimiter">:</span> ')        self.body.append(self.starttag(node, 'span', '', CLASS='classifier'))    def depart_classifier(self, node):        self.body.append('</span>')    def visit_colspec(self, node):        self.colspecs.append(node)        # "stubs" list is an attribute of the tgroup element:        node.parent.stubs.append(node.attributes.get('stub'))    def depart_colspec(self, node):        pass    def write_colspecs(self):        width = 0        for node in self.colspecs:            width += node['colwidth']        for node in self.colspecs:            colwidth = int(node['colwidth'] * 100.0 / width + 0.5)            self.body.append(self.emptytag(node, 'col',                                           width='%i%%' % colwidth))        self.colspecs = []    def visit_comment(self, node,                      sub=re.compile('-(?=-)').sub):        """Escape double-dashes in comment text."""        self.body.append('<!-- %s -->\n' % sub('- ', node.astext()))        # Content already processed:        raise nodes.SkipNode    def visit_compound(self, node):        self.body.append(self.starttag(node, 'div', CLASS='compound'))        if len(node) > 1:            node[0]['classes'].append('compound-first')            node[-1]['classes'].append('compound-last')            for child in node[1:-1]:                child['classes'].append('compound-middle')    def depart_compound(self, node):        self.body.append('</div>\n')    def visit_container(self, node):        self.body.append(self.starttag(node, 'div', CLASS='container'))    def depart_container(self, node):        self.body.append('</div>\n')    def visit_contact(self, node):        self.visit_docinfo_item(node, 'contact', meta=None)    def depart_contact(self, node):        self.depart_docinfo_item()    def visit_copyright(self, node):        self.visit_docinfo_item(node, 'copyright')    def depart_copyright(self, node):        self.depart_docinfo_item()    def visit_danger(self, node):        self.visit_admonition(node, 'danger')    def depart_danger(self, node):        self.depart_admonition()    def visit_date(self, node):        self.visit_docinfo_item(node, 'date')    def depart_date(self, node):        self.depart_docinfo_item()    def visit_decoration(self, node):        pass    def depart_decoration(self, node):        pass    def visit_definition(self, node):        self.body.append('</dt>\n')        self.body.append(self.starttag(node, 'dd', ''))        self.set_first_last(node)    def depart_definition(self, node):        self.body.append('</dd>\n')    def visit_definition_list(self, node):        self.body.append(self.starttag(node, 'dl', CLASS='docutils'))    def depart_definition_list(self, node):        self.body.append('</dl>\n')    def visit_definition_list_item(self, node):        pass    def depart_definition_list_item(self, node):        pass    def visit_description(self, node):        self.body.append(self.starttag(node, 'td', ''))        self.set_first_last(node)    def depart_description(self, node):        self.body.append('</td>')    def visit_docinfo(self, node):        self.context.append(len(self.body))        self.body.append(self.starttag(node, 'table',                                       CLASS='docinfo',                                       frame="void", rules="none"))        self.body.append('<col class="docinfo-name" />\n'                         '<col class="docinfo-content" />\n'                         '<tbody valign="top">\n')        self.in_docinfo = 1    def depart_docinfo(self, node):        self.body.append('</tbody>\n</table>\n')        self.in_docinfo = None        start = self.context.pop()        self.docinfo = self.body[start:]        self.body = []    def visit_docinfo_item(self, node, name, meta=1):        if meta:            meta_tag = '<meta name="%s" content="%s" />\n' \                       % (name, self.attval(node.astext()))            self.add_meta(meta_tag)        self.body.append(self.starttag(node, 'tr', ''))        self.body.append('<th class="docinfo-name">%s:</th>\n<td>'                         % self.language.labels[name])        if len(node):            if isinstance(node[0], nodes.Element):                node[0]['classes'].append('first')            if isinstance(node[-1], nodes.Element):                node[-1]['classes'].append('last')    def depart_docinfo_item(self):        self.body.append('</td></tr>\n')    def visit_doctest_block(self, node):        self.body.append(self.starttag(node, 'pre', CLASS='doctest-block'))    def depart_doctest_block(self, node):        self.body.append('\n</pre>\n')    def visit_document(self, node):        self.head.append('<title>%s</title>\n'                         % self.encode(node.get('title', '')))    def depart_document(self, node):        self.fragment.extend(self.body)        self.body_prefix.append(self.starttag(node, 'div', CLASS='document'))        self.body_suffix.insert(0, '</div>\n')        # skip content-type meta tag with interpolated charset value:        self.html_head.extend(self.head[1:])        self.html_body.extend(self.body_prefix[1:] + self.body_pre_docinfo                              + self.docinfo + self.body                              + self.body_suffix[:-1])    def visit_emphasis(self, node):        self.body.append('<em>')    def depart_emphasis(self, node):        self.body.append('</em>')    def visit_entry(self, node):        atts = {'class': []}        if isinstance(node.parent.parent, nodes.thead):            atts['class'].append('head')        if node.parent.parent.parent.stubs[node.parent.column]:            # "stubs" list is an attribute of the tgroup element            atts['class'].append('stub')        if atts['class']:            tagname = 'th'            atts['class'] = ' '.join(atts['class'])        else:            tagname = 'td'            del atts['class']        node.parent.column += 1        if node.has_key('morerows'):            atts['rowspan'] = node['morerows'] + 1        if node.has_key('morecols'):            atts['colspan'] = node['morecols'] + 1            node.parent.column += node['morecols']        self.body.append(self.starttag(node, tagname, '', **atts))        self.context.append('</%s>\n' % tagname.lower())        if len(node) == 0:              # empty cell            self.body.append('&nbsp;')        self.set_first_last(node)    def depart_entry(self, node):        self.body.append(self.context.pop())    def visit_enumerated_list(self, node):        """        The 'start' attribute does not conform to HTML 4.01's strict.dtd, but        CSS1 doesn't help. CSS2 isn't widely enough supported yet to be        usable.        """        atts = {}        if node.has_key('start'):            atts['start'] = node['start']        if node.has_key('enumtype'):            atts['class'] = node['enumtype']        # @@@ To do: prefix, suffix. How? Change prefix/suffix to a        # single "format" attribute? Use CSS2?        old_compact_simple = self.compact_simple        self.context.append((self.compact_simple, self.compact_p))        self.compact_p = None        self.compact_simple = self.is_compactable(node)        if self.compact_simple and not old_compact_simple:            atts['class'] = (atts.get('class', '') + ' simple').strip()        self.body.append(self.starttag(node, 'ol', **atts))    def depart_enumerated_list(self, node):        self.compact_simple, self.compact_p = self.context.pop()        self.body.append('</ol>\n')    def visit_error(self, node):        self.visit_admonition(node, 'error')    def depart_error(self, node):        self.depart_admonition()    def visit_field(self, node):        self.body.append(self.starttag(node, 'tr', '', CLASS='field'))    def depart_field(self, node):        self.body.append('</tr>\n')    def visit_field_body(self, node):        self.body.append(self.starttag(node, 'td', '', CLASS='field-body'))        self.set_class_on_child(node, 'first', 0)        field = node.parent        if (self.compact_field_list or            isinstance(field.parent, nodes.docinfo) or            field.parent.index(field) == len(field.parent) - 1):            # If we are in a compact list, the docinfo, or if this is            # the last field of the field list, do not add vertical            # space after last element.            self.set_class_on_child(node, 'last', -1)    def depart_field_body(self, node):

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -