"""Example blueprint.""" from flask import Blueprint, request, render_template from dependency_injector.wiring import inject, Provide from githubnavigator.services import SearchService from githubnavigator.containers import Container blueprint = Blueprint("example", __name__, template_folder="templates/") @blueprint.route("/") @inject def index( search_service: SearchService = Provide[Container.search_service], default_query: str = Provide[Container.config.default.query], default_limit: int = Provide[Container.config.default.limit.as_int()], ): query = request.args.get("query", default_query) limit = request.args.get("limit", default_limit, int) repositories = search_service.search_repositories(query, limit) return render_template( "index.html", query=query, limit=limit, repositories=repositories, )