Skip to content
Snippets Groups Projects
Commit d71d13ea authored by David Douard's avatar David Douard
Browse files

Enable black and pre-commit

parent 92c4e6ba
No related branches found
No related tags found
No related merge requests found
[flake8]
# E203: whitespaces before ':' <https://github.com/psf/black/issues/315>
# E231: missing whitespace after ','
# W503: line break before binary operator <https://github.com/psf/black/issues/52>
ignore = E203,E231,W503
max-line-length = 88
......@@ -4,9 +4,9 @@ from setuptools import setup, find_packages
def parse_requirements(name=None):
if name:
reqf = 'requirements-%s.txt' % name
reqf = "requirements-%s.txt" % name
else:
reqf = 'requirements.txt'
reqf = "requirements.txt"
requirements = []
if not os.path.exists(reqf):
......@@ -15,24 +15,26 @@ def parse_requirements(name=None):
with open(reqf) as f:
for line in f.readlines():
line = line.strip()
if not line or line.startswith('#'):
if not line or line.startswith("#"):
continue
requirements.append(line)
return requirements
setup(
name='swh.docs',
description='Software Heritage development documentation',
author='Software Heritage developers',
author_email='swh-devel@inria.fr',
url='https://forge.softwareheritage.org/source/swh-docs/',
name="swh.docs",
description="Software Heritage development documentation",
author="Software Heritage developers",
author_email="swh-devel@inria.fr",
url="https://forge.softwareheritage.org/source/swh-docs/",
packages=find_packages(),
scripts=[],
install_requires=parse_requirements(),
setup_requires=['vcversioner'],
extras_require={'testing': parse_requirements('test'),
'building': parse_requirements('swh')},
setup_requires=["vcversioner"],
extras_require={
"testing": parse_requirements("test"),
"building": parse_requirements("swh"),
},
vcversioner={},
include_package_data=True,
)
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
......@@ -11,4 +11,4 @@ for var in dir(web):
ns[var].append(elt)
SECRET_KEY = 'change me'
SECRET_KEY = "change me"
......@@ -6,73 +6,74 @@ import django
import os
# General information about the project.
project = 'Software Heritage - Development Documentation'
copyright = '2015-2019 The Software Heritage developers'
author = 'The Software Heritage developers'
project = "Software Heritage - Development Documentation"
copyright = "2015-2019 The Software Heritage developers"
author = "The Software Heritage developers"
# -- General configuration ------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.napoleon',
'sphinxcontrib.httpdomain',
'sphinx.ext.extlinks',
'sphinxcontrib.images',
'sphinxcontrib.programoutput',
'sphinx.ext.viewcode',
'sphinx_tabs.tabs',
'sphinx_rtd_theme',
'sphinx.ext.graphviz',
]
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"sphinxcontrib.httpdomain",
"sphinx.ext.extlinks",
"sphinxcontrib.images",
"sphinxcontrib.programoutput",
"sphinx.ext.viewcode",
"sphinx_tabs.tabs",
"sphinx_rtd_theme",
"sphinx.ext.graphviz",
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
templates_path = ["_templates"]
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
source_suffix = ['.rst', '.md']
source_suffix = [".rst", ".md"]
# source_suffix = '.rst'
source_parsers = {
'.md': 'recommonmark.parser.CommonMarkParser',
".md": "recommonmark.parser.CommonMarkParser",
}
# The master toctree document.
master_doc = 'index'
master_doc = "index"
# A string of reStructuredText that will be included at the beginning of every
# source file that is read.
# A bit hackish but should work both for each swh package and the whole swh-doc
rst_prolog = '''
rst_prolog = """
.. include:: /../../swh-docs/docs/swh_substitutions
'''
"""
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = ''
version = ""
# The full version, including alpha/beta/rc tags.
release = ''
release = ""
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = 'en'
language = "en"
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ['_build', 'swh-icinga-plugins/index.rst', 'swh-search/index.rst']
exclude_patterns = ["_build", "swh-icinga-plugins/index.rst", "swh-search/index.rst"]
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
pygments_style = "sphinx"
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True
......@@ -83,35 +84,35 @@ todo_include_todos = True
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme = "sphinx_rtd_theme"
html_favicon = '_static/favicon.ico'
html_favicon = "_static/favicon.ico"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
html_theme_options = {
'collapse_navigation': True,
'sticky_navigation': True,
"collapse_navigation": True,
"sticky_navigation": True,
}
html_logo = '_static/software-heritage-logo-title-motto-vertical-white.png'
html_logo = "_static/software-heritage-logo-title-motto-vertical-white.png"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ["_static"]
# make logo actually appear, avoiding gotcha due to alabaster default conf.
# https://github.com/bitprophet/alabaster/issues/97#issuecomment-303722935
html_sidebars = {
'**': [
'about.html',
'globaltoc.html',
'relations.html',
'sourcelink.html',
'searchbox.html',
"**": [
"about.html",
"globaltoc.html",
"relations.html",
"sourcelink.html",
"searchbox.html",
]
}
......@@ -121,16 +122,20 @@ html_sidebars = {
html_last_updated_fmt = "%Y-%m-%d %H:%M:%S %Z"
# refer to the Python standard library.
intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}
intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}
# -- autodoc configuration ----------------------------------------------
autodoc_default_flags = ['members', 'undoc-members', 'private-members',
'special-members']
autodoc_member_order = 'bysource'
autodoc_mock_imports = ['rados']
autodoc_default_flags = [
"members",
"undoc-members",
"private-members",
"special-members",
]
autodoc_member_order = "bysource"
autodoc_mock_imports = ["rados"]
modindex_common_prefix = ['swh.']
modindex_common_prefix = ["swh."]
# for the extlinks extension, sub-projects should fill that dict
extlinks = {}
......@@ -140,21 +145,21 @@ extlinks = {}
# https://github.com/sphinx-contrib/httpdomain/pull/19
def register_routingtable_as_label(app, document):
from sphinx.locale import _ # noqa
labels = app.env.domaindata['std']['labels']
labels['routingtable'] = 'http-routingtable', '', _('HTTP Routing Table')
anonlabels = app.env.domaindata['std']['anonlabels']
anonlabels['routingtable'] = 'http-routingtable', ''
labels = app.env.domaindata["std"]["labels"]
labels["routingtable"] = "http-routingtable", "", _("HTTP Routing Table")
anonlabels = app.env.domaindata["std"]["anonlabels"]
anonlabels["routingtable"] = "http-routingtable", ""
# hack to set the adequate django settings when building global swh doc
# to avoid autodoc build errors
def setup(app):
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'swh.docs.django_settings')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "swh.docs.django_settings")
django.setup()
import pkg_resources # noqa
from distutils.version import StrictVersion # noqa
httpdomain = pkg_resources.get_distribution('sphinxcontrib-httpdomain')
if StrictVersion(httpdomain.version) <= StrictVersion('1.7.0'):
app.connect('doctree-read', register_routingtable_as_label)
httpdomain = pkg_resources.get_distribution("sphinxcontrib-httpdomain")
if StrictVersion(httpdomain.version) <= StrictVersion("1.7.0"):
app.connect("doctree-read", register_routingtable_as_label)
[tox]
envlist=flake8
envlist=flake8,black
[testenv]
basepython = python3
......@@ -22,6 +22,13 @@ deps =
commands =
{envpython} -m pifpaf run postgresql -- make -C docs {posargs:html}
[testenv:black]
skip_install = true
deps =
black
commands =
{envpython} -m black --check swh
[testenv:flake8]
skip_install = true
deps =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment