diff --git a/.gitignore b/.gitignore index 217117d..c9ef850 100644 --- a/.gitignore +++ b/.gitignore @@ -44,5 +44,5 @@ README.html # Cookiecutter output/ -myflaskapp/ +my_flask_app/ bower_components diff --git a/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/app.py b/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/app.py index 3c7ba64..e6eaaa6 100644 --- a/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/app.py +++ b/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/app.py @@ -82,8 +82,6 @@ def register_commands(app): """Register Click commands.""" app.cli.add_command(commands.test) app.cli.add_command(commands.lint) - app.cli.add_command(commands.clean) - app.cli.add_command(commands.urls) def configure_logger(app): diff --git a/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/commands.py b/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/commands.py index d0bcd92..9049219 100644 --- a/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/commands.py +++ b/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/commands.py @@ -5,9 +5,6 @@ from glob import glob from subprocess import call import click -from flask import current_app -from flask.cli import with_appcontext -from werkzeug.exceptions import MethodNotAllowed, NotFound HERE = os.path.abspath(os.path.dirname(__file__)) PROJECT_ROOT = os.path.join(HERE, os.pardir) @@ -66,79 +63,3 @@ def lint(fix_imports, check): execute_tool("Fixing import order", "isort", *isort_args) execute_tool("Formatting style", "black", *black_args) execute_tool("Checking code style", "flake8") - - -@click.command() -def clean(): - """Remove *.pyc and *.pyo files recursively starting at current directory. - - Borrowed from Flask-Script, converted to use Click. - """ - for dirpath, dirnames, filenames in os.walk("."): - for filename in filenames: - if filename.endswith(".pyc") or filename.endswith(".pyo"): - full_pathname = os.path.join(dirpath, filename) - click.echo("Removing {}".format(full_pathname)) - os.remove(full_pathname) - - -@click.command() -@click.option("--url", default=None, help="Url to test (ex. /static/image.png)") -@click.option( - "--order", default="rule", help="Property on Rule to order by (default: rule)" -) -@with_appcontext -def urls(url, order): - """Display all of the url matching routes for the project. - - Borrowed from Flask-Script, converted to use Click. - """ - rows = [] - column_length = 0 - column_headers = ("Rule", "Endpoint", "Arguments") - - if url: - try: - rule, arguments = current_app.url_map.bind("localhost").match( - url, return_rule=True - ) - rows.append((rule.rule, rule.endpoint, arguments)) - column_length = 3 - except (NotFound, MethodNotAllowed) as e: - rows.append(("<{}>".format(e), None, None)) - column_length = 1 - else: - rules = sorted( - current_app.url_map.iter_rules(), key=lambda rule: getattr(rule, order) - ) - for rule in rules: - rows.append((rule.rule, rule.endpoint, None)) - column_length = 2 - - str_template = "" - table_width = 0 - - if column_length >= 1: - max_rule_length = max(len(r[0]) for r in rows) - max_rule_length = max_rule_length if max_rule_length > 4 else 4 - str_template += "{:" + str(max_rule_length) + "}" - table_width += max_rule_length - - if column_length >= 2: - max_endpoint_length = max(len(str(r[1])) for r in rows) - # max_endpoint_length = max(rows, key=len) - max_endpoint_length = max_endpoint_length if max_endpoint_length > 8 else 8 - str_template += " {:" + str(max_endpoint_length) + "}" - table_width += 2 + max_endpoint_length - - if column_length >= 3: - max_arguments_length = max(len(str(r[2])) for r in rows) - max_arguments_length = max_arguments_length if max_arguments_length > 9 else 9 - str_template += " {:" + str(max_arguments_length) + "}" - table_width += 2 + max_arguments_length - - click.echo(str_template.format(*column_headers[:column_length])) - click.echo("-" * table_width) - - for row in rows: - click.echo(str_template.format(*row[:column_length]))