[setup] Added build documentation target

This commit is contained in:
Ferdinand Thiessen 2021-03-25 13:12:28 +01:00
parent da94acf18c
commit 114e12f151
3 changed files with 40 additions and 12 deletions

1
.gitignore vendored
View File

@ -67,6 +67,7 @@ instance/
# Sphinx documentation # Sphinx documentation
docs/_build/ docs/_build/
docs/
# PyBuilder # PyBuilder
target/ target/

View File

@ -17,7 +17,7 @@ class PrefixMiddleware(object):
def __call__(self, environ, start_response): def __call__(self, environ, start_response):
if environ["PATH_INFO"].startswith(self.prefix): if environ["PATH_INFO"].startswith(self.prefix):
environ["PATH_INFO"] = environ["PATH_INFO"][len(self.prefix) :] environ["PATH_INFO"] = environ["PATH_INFO"][len(self.prefix):]
environ["SCRIPT_NAME"] = self.prefix environ["SCRIPT_NAME"] = self.prefix
return self.app(environ, start_response) return self.app(environ, start_response)
else: else:

View File

@ -1,11 +1,35 @@
from setuptools import setup, find_packages from setuptools import setup, find_packages, Command
import subprocess
import os import os
mysql_driver = "PyMySQL" if os.name == "nt" else "mysqlclient" mysql_driver = "PyMySQL" if os.name == "nt" else "mysqlclient"
class DocsCommand(Command):
description = "Generate and export API documentation"
user_options = [
# The format is (long option, short option, description).
("output=", "o", "Documentation output path"),
]
def initialize_options(self):
self.output = "./docs"
def finalize_options(self):
pass
def run(self):
"""Run command."""
command = ["python", "-m", "pdoc", "--skip-errors", "--html", "--output-dir", self.output, "flaschengeist"]
self.announce(
"Running command: %s" % str(command),
)
subprocess.check_call(command)
setup( setup(
name="flaschengeist", name="flaschengeist",
version="2.0.0-dev", version="2.0.0.dev0",
url="https://wu5.de/redmine/projects/geruecht", url="https://wu5.de/redmine/projects/geruecht",
author="WU5 + Friends", author="WU5 + Friends",
author_email="tim@groeger-clan.de", author_email="tim@groeger-clan.de",
@ -23,7 +47,7 @@ setup(
"werkzeug", "werkzeug",
mysql_driver, mysql_driver,
], ],
extras_require={"ldap": ["flask_ldapconn", "ldap3"], "pricelist": ["pillow"],"test": ["pytest", "coverage"]}, extras_require={"ldap": ["flask_ldapconn", "ldap3"], "pricelist": ["pillow"], "test": ["pytest", "coverage"]},
entry_points={ entry_points={
"flaschengeist.plugin": [ "flaschengeist.plugin": [
# Authentication providers # Authentication providers
@ -39,4 +63,7 @@ setup(
"pricelist = flaschengeist.plugins.pricelist:PriceListPlugin [pricelist]", "pricelist = flaschengeist.plugins.pricelist:PriceListPlugin [pricelist]",
], ],
}, },
cmdclass={
"docs": DocsCommand,
},
) )