Check if docs are up to date if running from git repo.
This commit is contained in:
parent
ce6778f1d5
commit
def417b8a5
@ -31,7 +31,7 @@ from PyQt5.QtNetwork import QNetworkReply
|
|||||||
|
|
||||||
import qutebrowser
|
import qutebrowser
|
||||||
from qutebrowser.network import schemehandler
|
from qutebrowser.network import schemehandler
|
||||||
from qutebrowser.utils import version, utils, jinja, log
|
from qutebrowser.utils import version, utils, jinja, log, message
|
||||||
|
|
||||||
|
|
||||||
pyeval_output = ":pyeval was never called"
|
pyeval_output = ":pyeval was never called"
|
||||||
@ -137,6 +137,11 @@ def qute_help(request):
|
|||||||
urlpath = request.url().path()
|
urlpath = request.url().path()
|
||||||
if not urlpath or urlpath == '/':
|
if not urlpath or urlpath == '/':
|
||||||
urlpath = 'index.html'
|
urlpath = 'index.html'
|
||||||
|
else:
|
||||||
|
urlpath = urlpath.lstrip('/')
|
||||||
|
if not utils.docs_up_to_date(urlpath):
|
||||||
|
message.error("Your documentation is outdated! Please re-run scripts/"
|
||||||
|
"asciidoc2html.py.")
|
||||||
path = 'html/doc/{}'.format(urlpath)
|
path = 'html/doc/{}'.format(urlpath)
|
||||||
return utils.read_file(path).encode('UTF-8', errors='xmlcharrefreplace')
|
return utils.read_file(path).encode('UTF-8', errors='xmlcharrefreplace')
|
||||||
|
|
||||||
|
@ -507,6 +507,36 @@ def is_enum(obj):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def is_git_repo():
|
||||||
|
"""Check if we're running from a git repository."""
|
||||||
|
gitfolder = os.path.join(qutebrowser.basedir, os.path.pardir, '.git')
|
||||||
|
return os.path.isdir(gitfolder)
|
||||||
|
|
||||||
|
|
||||||
|
def docs_up_to_date(path):
|
||||||
|
"""Check if the generated html documentation is up to date.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
path: The path of the document to check.
|
||||||
|
|
||||||
|
Return:
|
||||||
|
True if they are up to date or we couldn't check.
|
||||||
|
False if they are outdated.
|
||||||
|
"""
|
||||||
|
if hasattr(sys, 'frozen') or not is_git_repo():
|
||||||
|
return True
|
||||||
|
html_path = os.path.join(qutebrowser.basedir, 'html', 'doc', path)
|
||||||
|
filename = os.path.splitext(path)[0]
|
||||||
|
asciidoc_path = os.path.join(qutebrowser.basedir, os.path.pardir,
|
||||||
|
'doc', 'help', filename + '.asciidoc')
|
||||||
|
try:
|
||||||
|
html_time = os.path.getmtime(html_path)
|
||||||
|
asciidoc_time = os.path.getmtime(asciidoc_path)
|
||||||
|
except FileNotFoundError:
|
||||||
|
return True
|
||||||
|
return asciidoc_time <= html_time
|
||||||
|
|
||||||
|
|
||||||
class DocstringParser:
|
class DocstringParser:
|
||||||
|
|
||||||
"""Generate documentation based on a docstring of a command handler.
|
"""Generate documentation based on a docstring of a command handler.
|
||||||
|
Loading…
Reference in New Issue
Block a user