Source code for biweeklybudget.flaskapp.views.help

"""
The latest version of this package is available at:
<http://github.com/jantman/biweeklybudget>

################################################################################
Copyright 2016 Jason Antman <jason@jasonantman.com> <http://www.jasonantman.com>

    This file is part of biweeklybudget, also known as biweeklybudget.

    biweeklybudget is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    biweeklybudget is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with biweeklybudget.  If not, see <http://www.gnu.org/licenses/>.

The Copyright and Authors attributions contained herein may not be removed or
otherwise altered, except to add the Author attribution of a contributor to
this work. (Additional Terms pursuant to Section 7b of the AGPL v3)
################################################################################
While not legally required, I sincerely request that anyone who finds
bugs please submit them at <https://github.com/jantman/biweeklybudget> or
to me via email, and that you send any contributions or improvements
either as a pull request on GitHub, or to me via email.
################################################################################

AUTHORS:
Jason Antman <jason@jasonantman.com> <http://www.jasonantman.com>
################################################################################
"""

import logging
import re
import os
from flask.views import MethodView
from flask import render_template, request
from versionfinder import find_version

from biweeklybudget.flaskapp.app import app
from biweeklybudget.version import VERSION, PROJECT_URL
from biweeklybudget.settings import DB_CONNSTRING

logger = logging.getLogger(__name__)

if os.environ.get('VERSIONFINDER_DEBUG') != 'true':
    for lname in ['versionfinder', 'pip', 'git']:
        _log = logging.getLogger(lname)
        _log.setLevel(logging.CRITICAL)
        _log.propagate = True

DBPASS_RE = re.compile(r':[^@:]+@')


[docs]class HelpView(MethodView): """ Render the GET /help view using the ``help.html`` template. """
[docs] def get(self): connstr = DBPASS_RE.sub(':<redacted>@', DB_CONNSTRING) if 'git' in VERSION: ver = VERSION else: ver = find_version('biweeklybudget').long_str return render_template( 'help.html', ver_info=ver, version=VERSION, url=PROJECT_URL, ua_str=request.headers.get('User-Agent', 'unknown'), db_uri=connstr )
app.add_url_rule('/help', view_func=HelpView.as_view('help_view'))