mirror of
				https://github.com/RGBCube/GitHubWrapper
				synced 2025-10-30 21:42:45 +00:00 
			
		
		
		
	Black format
This commit is contained in:
		
							parent
							
								
									3d49dd9246
								
							
						
					
					
						commit
						6c3fe56acf
					
				
					 8 changed files with 119 additions and 118 deletions
				
			
		
							
								
								
									
										173
									
								
								docs/conf.py
									
										
									
									
									
								
							
							
						
						
									
										173
									
								
								docs/conf.py
									
										
									
									
									
								
							|  | @ -12,7 +12,7 @@ sys.path.append(os.path.abspath('extensions')) | |||
| # -- General configuration ------------------------------------------------ | ||||
| 
 | ||||
| # If your documentation needs a minimal Sphinx version, state it here. | ||||
| #needs_sphinx = '1.0' | ||||
| # needs_sphinx = '1.0' | ||||
| 
 | ||||
| # Add any Sphinx extension module names here, as strings. They can be | ||||
| # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom | ||||
|  | @ -33,7 +33,7 @@ extensions = [ | |||
| 
 | ||||
| autodoc_member_order = 'bysource' | ||||
| autodoc_typehints = 'none' | ||||
| #autodoc_mock_imports = ['sphinxcontrib_trio','sphinxcontrib-serializinghtml','sphinxcontrib-qthelp','sphinxcontrib-jsmath','sphinxcontrib-htmlhelp','sphinxcontrib-devhelp','sphinxcontrib-applehelp ','typing_extensions'] | ||||
| # autodoc_mock_imports = ['sphinxcontrib_trio','sphinxcontrib-serializinghtml','sphinxcontrib-qthelp','sphinxcontrib-jsmath','sphinxcontrib-htmlhelp','sphinxcontrib-devhelp','sphinxcontrib-applehelp ','typing_extensions'] | ||||
| # maybe consider this? | ||||
| # napoleon_attr_annotations = False | ||||
| 
 | ||||
|  | @ -43,9 +43,9 @@ extlinks = { | |||
| 
 | ||||
| # Links used for cross-referencing stuff in other documentation | ||||
| intersphinx_mapping = { | ||||
|   'py': ('https://docs.python.org/3', None), | ||||
|   'aio': ('https://docs.aiohttp.org/en/stable/', None), | ||||
|   'req': ('https://docs.python-requests.org/en/latest/', None) | ||||
|     'py': ('https://docs.python.org/3', None), | ||||
|     'aio': ('https://docs.aiohttp.org/en/stable/', None), | ||||
|     'req': ('https://docs.python-requests.org/en/latest/', None), | ||||
| } | ||||
| 
 | ||||
| rst_prolog = """ | ||||
|  | @ -62,7 +62,7 @@ templates_path = ['_templates'] | |||
| source_suffix = '.rst' | ||||
| 
 | ||||
| # The encoding of source files. | ||||
| #source_encoding = 'utf-8-sig' | ||||
| # source_encoding = 'utf-8-sig' | ||||
| 
 | ||||
| # The master toctree document. | ||||
| master_doc = 'index' | ||||
|  | @ -79,7 +79,7 @@ copyright = '2022 - Present, VarMonke & sudosnok' | |||
| 
 | ||||
| version = '' | ||||
| with open('../github/__init__.py') as f: | ||||
|     version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1) #type: ignore | ||||
|     version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1)  # type: ignore | ||||
| 
 | ||||
| # The full version, including alpha/beta/rc tags. | ||||
| release = version | ||||
|  | @ -99,9 +99,9 @@ gettext_compact = False | |||
| 
 | ||||
| # There are two options for replacing |today|: either, you set today to some | ||||
| # non-false value, then it is used: | ||||
| #today = '' | ||||
| # today = '' | ||||
| # Else, today_fmt is used as the format for a strftime call. | ||||
| #today_fmt = '%B %d, %Y' | ||||
| # today_fmt = '%B %d, %Y' | ||||
| 
 | ||||
| # List of patterns, relative to source directory, that match files and | ||||
| # directories to ignore when looking for source files. | ||||
|  | @ -109,37 +109,37 @@ exclude_patterns = ['_build'] | |||
| 
 | ||||
| # The reST default role (used for this markup: `text`) to use for all | ||||
| # documents. | ||||
| #default_role = None | ||||
| # default_role = None | ||||
| 
 | ||||
| # If true, '()' will be appended to :func: etc. cross-reference text. | ||||
| #add_function_parentheses = True | ||||
| # add_function_parentheses = True | ||||
| 
 | ||||
| # If true, the current module name will be prepended to all description | ||||
| # unit titles (such as .. function::). | ||||
| #add_module_names = True | ||||
| # add_module_names = True | ||||
| 
 | ||||
| # If true, sectionauthor and moduleauthor directives will be shown in the | ||||
| # output. They are ignored by default. | ||||
| #show_authors = False | ||||
| # show_authors = False | ||||
| 
 | ||||
| # The name of the Pygments (syntax highlighting) style to use. | ||||
| pygments_style = 'friendly' | ||||
| 
 | ||||
| # A list of ignored prefixes for module index sorting. | ||||
| #modindex_common_prefix = [] | ||||
| # modindex_common_prefix = [] | ||||
| 
 | ||||
| # If true, keep warnings as "system message" paragraphs in the built documents. | ||||
| #keep_warnings = False | ||||
| # keep_warnings = False | ||||
| 
 | ||||
| # Ignore warnings about inconsistent order and/or count of references in translated messages. | ||||
| # This makes no sense, different languages can have different word order... | ||||
| def _i18n_warning_filter(record: logging.LogRecord) -> bool: | ||||
|   return not record.msg.startswith( | ||||
|     ( | ||||
|       'inconsistent references in translated message', | ||||
|       'inconsistent term references in translated message', | ||||
|     return not record.msg.startswith( | ||||
|         ( | ||||
|             'inconsistent references in translated message', | ||||
|             'inconsistent term references in translated message', | ||||
|         ) | ||||
|     ) | ||||
|   ) | ||||
| 
 | ||||
| 
 | ||||
| _i18n_logger = logging.getLogger('sphinx') | ||||
|  | @ -154,18 +154,18 @@ html_experimental_html5_writer = True | |||
| html_theme = 'basic' | ||||
| 
 | ||||
| html_context = { | ||||
|   'discord_invite': 'https://discord.gg/r3sSKJJ', | ||||
|   'discord_extensions': [ | ||||
|     ('discord.ext.commands', 'ext/commands'), | ||||
|     ('discord.ext.tasks', 'ext/tasks'), | ||||
|   ], | ||||
|     'discord_invite': 'https://discord.gg/r3sSKJJ', | ||||
|     'discord_extensions': [ | ||||
|         ('discord.ext.commands', 'ext/commands'), | ||||
|         ('discord.ext.tasks', 'ext/tasks'), | ||||
|     ], | ||||
| } | ||||
| 
 | ||||
| resource_links = { | ||||
|   'discord': 'https://discord.gg/W2SDTtMrZA', | ||||
|   'issues': 'https://github.com/VarMonke/Github-Api-Wrapper/issues', | ||||
|   'discussions': 'https://github.com/VarMonke/Github-Api-Wrapper/discussions', | ||||
|   'examples': f'https://github.com/VarMonke/Github-Api-Wrapper/examples', | ||||
|     'discord': 'https://discord.gg/W2SDTtMrZA', | ||||
|     'issues': 'https://github.com/VarMonke/Github-Api-Wrapper/issues', | ||||
|     'discussions': 'https://github.com/VarMonke/Github-Api-Wrapper/discussions', | ||||
|     'examples': f'https://github.com/VarMonke/Github-Api-Wrapper/examples', | ||||
| } | ||||
| 
 | ||||
| # Theme options are theme-specific and customize the look and feel of a theme | ||||
|  | @ -175,18 +175,18 @@ resource_links = { | |||
| # } | ||||
| 
 | ||||
| # Add any paths that contain custom themes here, relative to this directory. | ||||
| #html_theme_path = [] | ||||
| # html_theme_path = [] | ||||
| 
 | ||||
| # The name for this set of Sphinx documents.  If None, it defaults to | ||||
| # "<project> v<release> documentation". | ||||
| #html_title = None | ||||
| # html_title = None | ||||
| 
 | ||||
| # A shorter title for the navigation bar.  Default is the same as html_title. | ||||
| #html_short_title = None | ||||
| # html_short_title = None | ||||
| 
 | ||||
| # The name of an image file (relative to this directory) to place at the top | ||||
| # of the sidebar. | ||||
| #html_logo = None | ||||
| # html_logo = None | ||||
| 
 | ||||
| # The name of an image file (within the static path) to use as favicon of the | ||||
| # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32 | ||||
|  | @ -201,69 +201,64 @@ html_static_path = ['_static'] | |||
| # Add any extra paths that contain custom files (such as robots.txt or | ||||
| # .htaccess) here, relative to this directory. These files are copied | ||||
| # directly to the root of the documentation. | ||||
| #html_extra_path = [] | ||||
| # html_extra_path = [] | ||||
| 
 | ||||
| # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, | ||||
| # using the given strftime format. | ||||
| #html_last_updated_fmt = '%b %d, %Y' | ||||
| # html_last_updated_fmt = '%b %d, %Y' | ||||
| 
 | ||||
| # If true, SmartyPants will be used to convert quotes and dashes to | ||||
| # typographically correct entities. | ||||
| #html_use_smartypants = True | ||||
| # html_use_smartypants = True | ||||
| 
 | ||||
| # Custom sidebar templates, maps document names to template names. | ||||
| #html_sidebars = {} | ||||
| # html_sidebars = {} | ||||
| 
 | ||||
| # Additional templates that should be rendered to pages, maps page names to | ||||
| # template names. | ||||
| #html_additional_pages = {} | ||||
| # html_additional_pages = {} | ||||
| 
 | ||||
| # If false, no module index is generated. | ||||
| #html_domain_indices = True | ||||
| # html_domain_indices = True | ||||
| 
 | ||||
| # If false, no index is generated. | ||||
| #html_use_index = True | ||||
| # html_use_index = True | ||||
| 
 | ||||
| # If true, the index is split into individual pages for each letter. | ||||
| #html_split_index = False | ||||
| # html_split_index = False | ||||
| 
 | ||||
| # If true, links to the reST sources are added to the pages. | ||||
| #html_show_sourcelink = True | ||||
| # html_show_sourcelink = True | ||||
| 
 | ||||
| # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | ||||
| #html_show_sphinx = True | ||||
| # html_show_sphinx = True | ||||
| 
 | ||||
| # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | ||||
| #html_show_copyright = True | ||||
| # html_show_copyright = True | ||||
| 
 | ||||
| # If true, an OpenSearch description file will be output, and all pages will | ||||
| # contain a <link> tag referring to it.  The value of this option must be the | ||||
| # base URL from which the finished HTML is served. | ||||
| #html_use_opensearch = '' | ||||
| # html_use_opensearch = '' | ||||
| 
 | ||||
| # This is the file name suffix for HTML files (e.g. ".xhtml"). | ||||
| #html_file_suffix = None | ||||
| # html_file_suffix = None | ||||
| 
 | ||||
| # Language to be used for generating the HTML full-text search index. | ||||
| # Sphinx supports the following languages: | ||||
| #   'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' | ||||
| #   'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' | ||||
| #html_search_language = 'en' | ||||
| # html_search_language = 'en' | ||||
| 
 | ||||
| # A dictionary with options for the search language support, empty by default. | ||||
| # Now only 'ja' uses this config value | ||||
| #html_search_options = {'type': 'default'} | ||||
| # html_search_options = {'type': 'default'} | ||||
| 
 | ||||
| # The name of a javascript file (relative to the configuration directory) that | ||||
| # implements a search results scorer. If empty, the default will be used. | ||||
| html_search_scorer = '_static/scorer.js' | ||||
| 
 | ||||
| html_js_files = [ | ||||
|   'custom.js', | ||||
|   'settings.js', | ||||
|   'copy.js', | ||||
|   'sidebar.js' | ||||
| ] | ||||
| html_js_files = ['custom.js', 'settings.js', 'copy.js', 'sidebar.js'] | ||||
| 
 | ||||
| # Output file base name for HTML help builder. | ||||
| htmlhelp_basename = 'Github-API-Wrapper.doc' | ||||
|  | @ -271,59 +266,52 @@ htmlhelp_basename = 'Github-API-Wrapper.doc' | |||
| # -- Options for LaTeX output --------------------------------------------- | ||||
| 
 | ||||
| latex_elements = { | ||||
| # The paper size ('letterpaper' or 'a4paper'). | ||||
| #'papersize': 'letterpaper', | ||||
| 
 | ||||
| # The font size ('10pt', '11pt' or '12pt'). | ||||
| #'pointsize': '10pt', | ||||
| 
 | ||||
| # Additional stuff for the LaTeX preamble. | ||||
| #'preamble': '', | ||||
| 
 | ||||
| # Latex figure (float) alignment | ||||
| #'figure_align': 'htbp', | ||||
|     # The paper size ('letterpaper' or 'a4paper'). | ||||
|     #'papersize': 'letterpaper', | ||||
|     # The font size ('10pt', '11pt' or '12pt'). | ||||
|     #'pointsize': '10pt', | ||||
|     # Additional stuff for the LaTeX preamble. | ||||
|     #'preamble': '', | ||||
|     # Latex figure (float) alignment | ||||
|     #'figure_align': 'htbp', | ||||
| } | ||||
| 
 | ||||
| # Grouping the document tree into LaTeX files. List of tuples | ||||
| # (source start file, target name, title, | ||||
| #  author, documentclass [howto, manual, or own class]). | ||||
| latex_documents = [ | ||||
|   ('index', 'Github-API-Wrapper.tex', 'Github-API-Wrapper Documentation', | ||||
|    'VarMonke & sudosnok', 'manual'), | ||||
|     ('index', 'Github-API-Wrapper.tex', 'Github-API-Wrapper Documentation', 'VarMonke & sudosnok', 'manual'), | ||||
| ] | ||||
| 
 | ||||
| # The name of an image file (relative to this directory) to place at the top of | ||||
| # the title page. | ||||
| #latex_logo = None | ||||
| # latex_logo = None | ||||
| 
 | ||||
| # For "manual" documents, if this is true, then toplevel headings are parts, | ||||
| # not chapters. | ||||
| #latex_use_parts = False | ||||
| # latex_use_parts = False | ||||
| 
 | ||||
| # If true, show page references after internal links. | ||||
| #latex_show_pagerefs = False | ||||
| # latex_show_pagerefs = False | ||||
| 
 | ||||
| # If true, show URL addresses after external links. | ||||
| #latex_show_urls = False | ||||
| # latex_show_urls = False | ||||
| 
 | ||||
| # Documents to append as an appendix to all manuals. | ||||
| #latex_appendices = [] | ||||
| # latex_appendices = [] | ||||
| 
 | ||||
| # If false, no module index is generated. | ||||
| #latex_domain_indices = True | ||||
| # latex_domain_indices = True | ||||
| 
 | ||||
| 
 | ||||
| # -- Options for manual page output --------------------------------------- | ||||
| 
 | ||||
| # One entry per manual page. List of tuples | ||||
| # (source start file, name, description, authors, manual section). | ||||
| man_pages = [ | ||||
|     ('index', 'Github-API-Wrapper', 'Github-API-Wrapper Documentation', | ||||
|      ['VarMonke & sudosnok'], 1) | ||||
| ] | ||||
| man_pages = [('index', 'Github-API-Wrapper', 'Github-API-Wrapper Documentation', ['VarMonke & sudosnok'], 1)] | ||||
| 
 | ||||
| # If true, show URL addresses after external links. | ||||
| #man_show_urls = False | ||||
| # man_show_urls = False | ||||
| 
 | ||||
| 
 | ||||
| # -- Options for Texinfo output ------------------------------------------- | ||||
|  | @ -332,25 +320,32 @@ man_pages = [ | |||
| # (source start file, target name, title, author, | ||||
| #  dir menu entry, description, category) | ||||
| texinfo_documents = [ | ||||
|   ('index', 'Github-API-Wrapper', 'Github-API-Wrapper Documentation', | ||||
|    'VarMonke & sudosnok', 'Github-API-Wrapper', 'One line description of project.', | ||||
|    'Miscellaneous'), | ||||
|     ( | ||||
|         'index', | ||||
|         'Github-API-Wrapper', | ||||
|         'Github-API-Wrapper Documentation', | ||||
|         'VarMonke & sudosnok', | ||||
|         'Github-API-Wrapper', | ||||
|         'One line description of project.', | ||||
|         'Miscellaneous', | ||||
|     ), | ||||
| ] | ||||
| 
 | ||||
| # Documents to append as an appendix to all manuals. | ||||
| #texinfo_appendices = [] | ||||
| # texinfo_appendices = [] | ||||
| 
 | ||||
| # If false, no module index is generated. | ||||
| #texinfo_domain_indices = True | ||||
| # texinfo_domain_indices = True | ||||
| 
 | ||||
| # How to display URL addresses: 'footnote', 'no', or 'inline'. | ||||
| #texinfo_show_urls = 'footnote' | ||||
| # texinfo_show_urls = 'footnote' | ||||
| 
 | ||||
| # If true, do not generate a @detailmenu in the "Top" node's menu. | ||||
| #texinfo_no_detailmenu = False | ||||
| # texinfo_no_detailmenu = False | ||||
| 
 | ||||
| 
 | ||||
| def setup(app): | ||||
|   if app.config.language == 'ja': | ||||
|     app.config.intersphinx_mapping['py'] = ('https://docs.python.org/ja/3', None) | ||||
|     app.config.html_context['discord_invite'] = 'W2SDTtMrZA' | ||||
|     app.config.resource_links['discord'] = 'W2SDTtMrZA' | ||||
|     if app.config.language == 'ja': | ||||
|         app.config.intersphinx_mapping['py'] = ('https://docs.python.org/ja/3', None) | ||||
|         app.config.html_context['discord_invite'] = 'W2SDTtMrZA' | ||||
|         app.config.resource_links['discord'] = 'W2SDTtMrZA' | ||||
|  |  | |||
|  | @ -152,7 +152,7 @@ def build_lookup_table(env: Optional[BuildEnvironment]) -> Dict[str, List[str]]: | |||
|     # Given an environment, load up a lookup table of | ||||
|     # full-class-name: objects | ||||
|     result = {} | ||||
|     domain = env.domains['py'] #type: ignore | ||||
|     domain = env.domains['py']  # type: ignore | ||||
| 
 | ||||
|     ignored = { | ||||
|         'data', | ||||
|  | @ -181,7 +181,7 @@ class TableElement(NamedTuple): | |||
| 
 | ||||
| 
 | ||||
| def process_attributetable(app: Sphinx, doctree: nodes.Node, fromdocname: str) -> None: | ||||
|     env = app.builder.env #type: ignore | ||||
|     env = app.builder.env  # type: ignore | ||||
| 
 | ||||
|     lookup = build_lookup_table(env) | ||||
|     for node in doctree.traverse(attributetableplaceholder): | ||||
|  |  | |||
|  | @ -2,11 +2,11 @@ from sphinx.builders.html import StandaloneHTMLBuilder | |||
| from sphinx.environment.adapters.indexentries import IndexEntries | ||||
| from sphinx.writers.html5 import HTML5Translator | ||||
| 
 | ||||
| 
 | ||||
| class DPYHTML5Translator(HTML5Translator): | ||||
|     def visit_section(self, node): | ||||
|         self.section_level += 1 | ||||
|         self.body.append( | ||||
|             self.starttag(node, 'section')) | ||||
|         self.body.append(self.starttag(node, 'section')) | ||||
| 
 | ||||
|     def depart_section(self, node): | ||||
|         self.section_level -= 1 | ||||
|  | @ -20,16 +20,16 @@ class DPYHTML5Translator(HTML5Translator): | |||
|         super().depart_table(node) | ||||
|         self.body.append('</div>') | ||||
| 
 | ||||
| 
 | ||||
| class DPYStandaloneHTMLBuilder(StandaloneHTMLBuilder): | ||||
|     # This is mostly copy pasted from Sphinx. | ||||
|     def write_genindex(self) -> None: | ||||
|         # the total count of lines for each index letter, used to distribute | ||||
|         # the entries into two columns | ||||
|         genindex = IndexEntries(self.env).create_index(self, group_entries=False) #type: ignore | ||||
|         genindex = IndexEntries(self.env).create_index(self, group_entries=False)  # type: ignore | ||||
|         indexcounts = [] | ||||
|         for _k, entries in genindex: | ||||
|             indexcounts.append(sum(1 + len(subitems) | ||||
|                                    for _, (_, subitems, _) in entries)) | ||||
|             indexcounts.append(sum(1 + len(subitems) for _, (_, subitems, _) in entries)) | ||||
| 
 | ||||
|         genindexcontext = { | ||||
|             'genindexentries': genindex, | ||||
|  | @ -38,15 +38,11 @@ class DPYStandaloneHTMLBuilder(StandaloneHTMLBuilder): | |||
|         } | ||||
| 
 | ||||
|         if self.config.html_split_index: | ||||
|             self.handle_page('genindex', genindexcontext, | ||||
|                              'genindex-split.html') | ||||
|             self.handle_page('genindex-all', genindexcontext, | ||||
|                              'genindex.html') | ||||
|             self.handle_page('genindex', genindexcontext, 'genindex-split.html') | ||||
|             self.handle_page('genindex-all', genindexcontext, 'genindex.html') | ||||
|             for (key, entries), count in zip(genindex, indexcounts): | ||||
|                 ctx = {'key': key, 'entries': entries, 'count': count, | ||||
|                        'genindexentries': genindex} | ||||
|                 self.handle_page('genindex-' + key, ctx, | ||||
|                                  'genindex-single.html') | ||||
|                 ctx = {'key': key, 'entries': entries, 'count': count, 'genindexentries': genindex} | ||||
|                 self.handle_page('genindex-' + key, ctx, 'genindex-single.html') | ||||
|         else: | ||||
|             self.handle_page('genindex', genindexcontext, 'genindex.html') | ||||
| 
 | ||||
|  | @ -56,6 +52,7 @@ def add_custom_jinja2(app): | |||
|     env.tests['prefixedwith'] = str.startswith | ||||
|     env.tests['suffixedwith'] = str.endswith | ||||
| 
 | ||||
| 
 | ||||
| def add_builders(app): | ||||
|     """This is necessary because RTD injects their own for some reason.""" | ||||
|     app.set_translator('html', DPYHTML5Translator, override=True) | ||||
|  | @ -66,12 +63,14 @@ def add_builders(app): | |||
|     except KeyError: | ||||
|         pass | ||||
|     else: | ||||
|         injected_mro = tuple(base if base is not StandaloneHTMLBuilder else DPYStandaloneHTMLBuilder | ||||
|                              for base in original.mro()[1:]) | ||||
|         injected_mro = tuple( | ||||
|             base if base is not StandaloneHTMLBuilder else DPYStandaloneHTMLBuilder for base in original.mro()[1:] | ||||
|         ) | ||||
|         new_builder = type(original.__name__, injected_mro, {'name': 'readthedocs'}) | ||||
|         app.set_translator('readthedocs', DPYHTML5Translator, override=True) | ||||
|         app.add_builder(new_builder, override=True) | ||||
| 
 | ||||
| 
 | ||||
| def setup(app): | ||||
|     add_builders(app) | ||||
|     app.connect('builder-inited', add_custom_jinja2) | ||||
|  |  | |||
|  | @ -1,27 +1,34 @@ | |||
| from docutils.parsers.rst import Directive | ||||
| from docutils.parsers.rst import states, directives #type: ignore | ||||
| from docutils.parsers.rst import states, directives  # type: ignore | ||||
| from docutils.parsers.rst.roles import set_classes | ||||
| from docutils import nodes | ||||
| 
 | ||||
| 
 | ||||
| class details(nodes.General, nodes.Element): | ||||
|     pass | ||||
| 
 | ||||
| 
 | ||||
| class summary(nodes.General, nodes.Element): | ||||
|     pass | ||||
| 
 | ||||
| 
 | ||||
| def visit_details_node(self, node): | ||||
|     self.body.append(self.starttag(node, 'details', CLASS=node.attributes.get('class', ''))) | ||||
| 
 | ||||
| 
 | ||||
| def visit_summary_node(self, node): | ||||
|     self.body.append(self.starttag(node, 'summary', CLASS=node.attributes.get('summary-class', ''))) | ||||
|     self.body.append(node.rawsource) | ||||
| 
 | ||||
| 
 | ||||
| def depart_details_node(self, node): | ||||
|     self.body.append('</details>\n') | ||||
| 
 | ||||
| 
 | ||||
| def depart_summary_node(self, node): | ||||
|     self.body.append('</summary>') | ||||
| 
 | ||||
| 
 | ||||
| class DetailsDirective(Directive): | ||||
|     final_argument_whitespace = True | ||||
|     optional_arguments = 1 | ||||
|  | @ -48,8 +55,8 @@ class DetailsDirective(Directive): | |||
|         self.state.nested_parse(self.content, self.content_offset, node) | ||||
|         return [node] | ||||
| 
 | ||||
| 
 | ||||
| def setup(app): | ||||
|     app.add_node(details, html=(visit_details_node, depart_details_node)) | ||||
|     app.add_node(summary, html=(visit_summary_node, depart_summary_node)) | ||||
|     app.add_directive('details', DetailsDirective) | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,18 +1,22 @@ | |||
| from docutils.parsers.rst import Directive | ||||
| from docutils.parsers.rst import states, directives #type: ignore | ||||
| from docutils.parsers.rst import states, directives  # type: ignore | ||||
| from docutils.parsers.rst.roles import set_classes | ||||
| from docutils import nodes | ||||
| from sphinx.locale import _ | ||||
| 
 | ||||
| 
 | ||||
| class exception_hierarchy(nodes.General, nodes.Element): | ||||
|     pass | ||||
| 
 | ||||
| 
 | ||||
| def visit_exception_hierarchy_node(self, node): | ||||
|     self.body.append(self.starttag(node, 'div', CLASS='exception-hierarchy-content')) | ||||
| 
 | ||||
| 
 | ||||
| def depart_exception_hierarchy_node(self, node): | ||||
|     self.body.append('</div>\n') | ||||
| 
 | ||||
| 
 | ||||
| class ExceptionHierarchyDirective(Directive): | ||||
|     has_content = True | ||||
| 
 | ||||
|  | @ -22,6 +26,7 @@ class ExceptionHierarchyDirective(Directive): | |||
|         self.state.nested_parse(self.content, self.content_offset, node) | ||||
|         return [node] | ||||
| 
 | ||||
| 
 | ||||
| def setup(app): | ||||
|     app.add_node(exception_hierarchy, html=(visit_exception_hierarchy_node, depart_exception_hierarchy_node)) | ||||
|     app.add_directive('exception_hierarchy', ExceptionHierarchyDirective) | ||||
|  |  | |||
|  | @ -5,7 +5,6 @@ from sphinx.util import logging as sphinx_logging | |||
| 
 | ||||
| 
 | ||||
| class NitpickFileIgnorer(logging.Filter): | ||||
|      | ||||
|     def __init__(self, app: Sphinx) -> None: | ||||
|         self.app = app | ||||
|         super().__init__() | ||||
|  |  | |||
|  | @ -16,13 +16,7 @@ from sphinx.util.typing import RoleFunction | |||
| 
 | ||||
| def make_link_role(resource_links: Dict[str, str]) -> RoleFunction: | ||||
|     def role( | ||||
|         typ: str, | ||||
|         rawtext: str, | ||||
|         text: str, | ||||
|         lineno: int, | ||||
|         inliner: Inliner, | ||||
|         options: Dict = {}, | ||||
|         content: List[str] = [] | ||||
|         typ: str, rawtext: str, text: str, lineno: int, inliner: Inliner, options: Dict = {}, content: List[str] = [] | ||||
|     ) -> Tuple[List[Node], List[system_message]]: | ||||
| 
 | ||||
|         text = utils.unescape(text) | ||||
|  | @ -32,12 +26,14 @@ def make_link_role(resource_links: Dict[str, str]) -> RoleFunction: | |||
|             title = full_url | ||||
|         pnode = nodes.reference(title, title, internal=False, refuri=full_url) | ||||
|         return [pnode], [] | ||||
| 
 | ||||
|     return role | ||||
| 
 | ||||
| 
 | ||||
| def add_link_role(app: Sphinx) -> None: | ||||
|     app.add_role('resource', make_link_role(app.config.resource_links)) | ||||
| 
 | ||||
| 
 | ||||
| def setup(app: Sphinx) -> Dict[str, Any]: | ||||
|     app.add_config_value('resource_links', {}, 'env') | ||||
|     app.connect('builder-inited', add_link_role) | ||||
|  |  | |||
							
								
								
									
										2
									
								
								setup.py
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								setup.py
									
										
									
									
									
								
							|  | @ -6,7 +6,7 @@ with open('requirements.txt') as f: | |||
|     requirements = f.read().splitlines() | ||||
| 
 | ||||
| path = Path(__file__).parent / "github" / "__init__.py" | ||||
| version = re.search(r'\d[.]\d[.]\d',path.read_text()).group(0) #type: ignore | ||||
| version = re.search(r'\d[.]\d[.]\d', path.read_text()).group(0)  # type: ignore | ||||
| 
 | ||||
| packages = [ | ||||
|     'github', | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 VarMonke
						VarMonke