@@ -129,7 +129,7 @@ Put next into the ``views.py``:
129129
130130
131131 def index ():
132- return ' Hello, World!'
132+ return " Hello, World!"
133133
134134 Ok, we have the view.
135135
@@ -170,7 +170,7 @@ Put next into the ``application.py``:
170170
171171 app = Flask(__name__ )
172172 app.container = container
173- app.add_url_rule(' / ' , ' index' , views.index)
173+ app.add_url_rule(" / " , " index" , views.index)
174174
175175 return app
176176
@@ -246,7 +246,7 @@ Edit ``application.py``:
246246
247247 app = Flask(__name__ )
248248 app.container = container
249- app.add_url_rule(' / ' , ' index' , views.index)
249+ app.add_url_rule(" / " , " index" , views.index)
250250
251251 bootstrap = Bootstrap()
252252 bootstrap.init_app(app)
@@ -398,13 +398,13 @@ Edit ``views.py``:
398398
399399
400400 def index ():
401- query = request.args.get(' query' , ' Dependency Injector' )
402- limit = request.args.get(' limit' , 10 , int )
401+ query = request.args.get(" query" , " Dependency Injector" )
402+ limit = request.args.get(" limit" , 10 , int )
403403
404404 repositories = []
405405
406406 return render_template(
407- ' index.html' ,
407+ " index.html" ,
408408 query = query,
409409 limit = limit,
410410 repositories = repositories,
@@ -553,12 +553,12 @@ Edit ``application.py``:
553553
554554 def create_app () -> Flask:
555555 container = Container()
556- container.config.from_yaml(' config.yml' )
557- container.config.github.auth_token.from_env(' GITHUB_TOKEN' )
556+ container.config.from_yaml(" config.yml" )
557+ container.config.github.auth_token.from_env(" GITHUB_TOKEN" )
558558
559559 app = Flask(__name__ )
560560 app.container = container
561- app.add_url_rule(' / ' , ' index' , views.index)
561+ app.add_url_rule(" / " , " index" , views.index)
562562
563563 bootstrap = Bootstrap()
564564 bootstrap.init_app(app)
@@ -639,7 +639,7 @@ and put next into it:
639639 """ Search for repositories and return formatted data."""
640640 repositories = self ._github_client.search_repositories(
641641 query = query,
642- ** {' in ' : ' name' },
642+ ** {" in " : " name" },
643643 )
644644 return [
645645 self ._format_repo(repository)
@@ -649,22 +649,22 @@ and put next into it:
649649 def _format_repo (self , repository : Repository):
650650 commits = repository.get_commits()
651651 return {
652- ' url' : repository.html_url,
653- ' name' : repository.name,
654- ' owner' : {
655- ' login' : repository.owner.login,
656- ' url' : repository.owner.html_url,
657- ' avatar_url' : repository.owner.avatar_url,
652+ " url" : repository.html_url,
653+ " name" : repository.name,
654+ " owner" : {
655+ " login" : repository.owner.login,
656+ " url" : repository.owner.html_url,
657+ " avatar_url" : repository.owner.avatar_url,
658658 },
659- ' latest_commit' : self ._format_commit(commits[0 ]) if commits else {},
659+ " latest_commit" : self ._format_commit(commits[0 ]) if commits else {},
660660 }
661661
662662 def _format_commit (self , commit : Commit):
663663 return {
664- ' sha' : commit.sha,
665- ' url' : commit.html_url,
666- ' message' : commit.commit.message,
667- ' author_name' : commit.commit.author.name,
664+ " sha" : commit.sha,
665+ " url" : commit.html_url,
666+ " message" : commit.commit.message,
667+ " author_name" : commit.commit.author.name,
668668 }
669669
670670 Now let's add ``SearchService `` to the container.
@@ -720,13 +720,13 @@ Edit ``views.py``:
720720
721721 @inject
722722 def index (search_service : SearchService = Provide[Container.search_service]):
723- query = request.args.get(' query' , ' Dependency Injector' )
724- limit = request.args.get(' limit' , 10 , int )
723+ query = request.args.get(" query" , " Dependency Injector" )
724+ limit = request.args.get(" limit" , 10 , int )
725725
726726 repositories = search_service.search_repositories(query, limit)
727727
728728 return render_template(
729- ' index.html' ,
729+ " index.html" ,
730730 query = query,
731731 limit = limit,
732732 repositories = repositories,
@@ -752,13 +752,13 @@ Edit ``application.py``:
752752
753753 def create_app () -> Flask:
754754 container = Container()
755- container.config.from_yaml(' config.yml' )
756- container.config.github.auth_token.from_env(' GITHUB_TOKEN' )
755+ container.config.from_yaml(" config.yml" )
756+ container.config.github.auth_token.from_env(" GITHUB_TOKEN" )
757757 container.wire(modules = [views])
758758
759759 app = Flask(__name__ )
760760 app.container = container
761- app.add_url_rule(' / ' , ' index' , views.index)
761+ app.add_url_rule(" / " , " index" , views.index)
762762
763763 bootstrap = Bootstrap()
764764 bootstrap.init_app(app)
@@ -801,13 +801,13 @@ Edit ``views.py``:
801801 default_query : str = Provide[Container.config.default.query],
802802 default_limit : int = Provide[Container.config.default.limit.as_int()],
803803 ):
804- query = request.args.get(' query' , default_query)
805- limit = request.args.get(' limit' , default_limit, int )
804+ query = request.args.get(" query" , default_query)
805+ limit = request.args.get(" limit" , default_limit, int )
806806
807807 repositories = search_service.search_repositories(query, limit)
808808
809809 return render_template(
810- ' index.html' ,
810+ " index.html" ,
811811 query = query,
812812 limit = limit,
813813 repositories = repositories,
@@ -900,55 +900,55 @@ and put next into it:
900900 github_client_mock = mock.Mock(spec = Github)
901901 github_client_mock.search_repositories.return_value = [
902902 mock.Mock(
903- html_url = ' repo1-url' ,
904- name = ' repo1-name' ,
903+ html_url = " repo1-url" ,
904+ name = " repo1-name" ,
905905 owner = mock.Mock(
906- login = ' owner1-login' ,
907- html_url = ' owner1-url' ,
908- avatar_url = ' owner1-avatar-url' ,
906+ login = " owner1-login" ,
907+ html_url = " owner1-url" ,
908+ avatar_url = " owner1-avatar-url" ,
909909 ),
910910 get_commits = mock.Mock(return_value = [mock.Mock()]),
911911 ),
912912 mock.Mock(
913- html_url = ' repo2-url' ,
914- name = ' repo2-name' ,
913+ html_url = " repo2-url" ,
914+ name = " repo2-name" ,
915915 owner = mock.Mock(
916- login = ' owner2-login' ,
917- html_url = ' owner2-url' ,
918- avatar_url = ' owner2-avatar-url' ,
916+ login = " owner2-login" ,
917+ html_url = " owner2-url" ,
918+ avatar_url = " owner2-avatar-url" ,
919919 ),
920920 get_commits = mock.Mock(return_value = [mock.Mock()]),
921921 ),
922922 ]
923923
924924 with app.container.github_client.override(github_client_mock):
925- response = client.get(url_for(' index' ))
925+ response = client.get(url_for(" index" ))
926926
927927 assert response.status_code == 200
928- assert b ' Results found: 2' in response.data
928+ assert b " Results found: 2" in response.data
929929
930- assert b ' repo1-url' in response.data
931- assert b ' repo1-name' in response.data
932- assert b ' owner1-login' in response.data
933- assert b ' owner1-url' in response.data
934- assert b ' owner1-avatar-url' in response.data
930+ assert b " repo1-url" in response.data
931+ assert b " repo1-name" in response.data
932+ assert b " owner1-login" in response.data
933+ assert b " owner1-url" in response.data
934+ assert b " owner1-avatar-url" in response.data
935935
936- assert b ' repo2-url' in response.data
937- assert b ' repo2-name' in response.data
938- assert b ' owner2-login' in response.data
939- assert b ' owner2-url' in response.data
940- assert b ' owner2-avatar-url' in response.data
936+ assert b " repo2-url" in response.data
937+ assert b " repo2-name" in response.data
938+ assert b " owner2-login" in response.data
939+ assert b " owner2-url" in response.data
940+ assert b " owner2-avatar-url" in response.data
941941
942942
943943 def test_index_no_results (client , app ):
944944 github_client_mock = mock.Mock(spec = Github)
945945 github_client_mock.search_repositories.return_value = []
946946
947947 with app.container.github_client.override(github_client_mock):
948- response = client.get(url_for(' index' ))
948+ response = client.get(url_for(" index" ))
949949
950950 assert response.status_code == 200
951- assert b ' Results found: 0' in response.data
951+ assert b " Results found: 0" in response.data
952952
953953 Now let's run it and check the coverage:
954954
0 commit comments