Skip to content
This repository was archived by the owner on May 31, 2023. It is now read-only.

Commit 37c5430

Browse files
author
Hiroki SAKABE
committed
mypyのcheck_untyped_defsでエラーになる箇所を修正
1 parent 4158e97 commit 37c5430

5 files changed

Lines changed: 43 additions & 26 deletions

File tree

lambda/app/bee_slack_app/view/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from .book_search import book_search_result_modal, book_search_result_selected_modal
22
from .common import DUMMY_IMAGE_URL, book_section, google_graphic, simple_modal
3-
from .home import home
3+
from .home import home, BooksParam
44
from .post_review import (
55
notify_review_post_message_blocks,
66
post_review_modal,

lambda/app/bee_slack_app/view/home.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def home( # pylint: disable=too-many-locals
1818
user_info_action_id: str,
1919
total_review_count: int,
2020
user_name: str,
21-
recommend_timestamp: str,
21+
recommend_timestamp: Optional[str],
2222
books_params: Optional[BooksParam] = None,
2323
private_metadata: str = "",
2424
): # pylint: disable=too-many-locals
@@ -108,7 +108,7 @@ def home( # pylint: disable=too-many-locals
108108
"type": "section",
109109
"text": {
110110
"type": "mrkdwn",
111-
"text": f"*最新の推薦データ* : {recommend_timestamp}",
111+
"text": f"*最新の推薦データ* : {recommend_timestamp or '--'}",
112112
},
113113
},
114114
],

lambda/app/bee_slack_app/view_controller/hello.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ def show_my_review(ack, message, client):
3737
)
3838
return
3939

40-
myreviews = "\n・".join(myreviews)
41-
myreviews = f"・{myreviews}"
40+
myreviews_str = "\n・".join(myreviews)
41+
myreviews_str = f"・{myreviews_str}"
4242

4343
client.chat_postEphemeral(
4444
channel=os.environ["NOTIFY_POST_REVIEW_CHANNEL"],
4545
user=user_id,
46-
text=f"<@{user_id}>さんがレビューを投稿した本の一覧です({num_reviews}冊)\n\n {myreviews}",
46+
text=f"<@{user_id}>さんがレビューを投稿した本の一覧です({num_reviews}冊)\n\n {myreviews_str}",
4747
)
4848

4949
@app.command("/bee")
@@ -75,10 +75,12 @@ def repeat_text(ack, respond, command):
7575
respond(f"<@{user_id}>さんはまだレビューを投稿していませんね")
7676
return
7777

78-
myreviews = "\n・".join(myreviews)
79-
myreviews = f"・{myreviews}"
78+
myreviews_str = "\n・".join(myreviews)
79+
myreviews_str = f"・{myreviews_str}"
8080

81-
respond(f"<@{user_id}>さんがレビューを投稿した本の一覧です({num_reviews}冊)\n\n {myreviews}")
81+
respond(
82+
f"<@{user_id}>さんがレビューを投稿した本の一覧です({num_reviews}冊)\n\n {myreviews_str}"
83+
)
8284
return
8385

8486
respond(

lambda/app/bee_slack_app/view_controller/home.py

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import json
22
from logging import getLogger
3-
from typing import Any, TypedDict
3+
from typing import Any, Optional, TypedDict
44

55
from slack_bolt import App
66

@@ -13,7 +13,7 @@
1313
user_service,
1414
)
1515
from bee_slack_app.utils.datetime import parse
16-
from bee_slack_app.view import home
16+
from bee_slack_app.view import BooksParam, home
1717

1818
BOOK_NUMBER_PER_PAGE = 20
1919

@@ -41,7 +41,7 @@ def update_home_view(ack, event, client):
4141

4242
recommended_result = recommend_service.recommend(user)
4343

44-
books_params = None
44+
books_params: Optional[BooksParam] = None
4545
metadata_str = ""
4646

4747
books = book_service.get_books(limit=BOOK_NUMBER_PER_PAGE, keys=[])
@@ -67,7 +67,9 @@ def update_home_view(ack, event, client):
6767
user_info_action_id="user_info_action",
6868
total_review_count=total_review_count,
6969
user_name=user_name,
70-
recommend_timestamp=parse(recommended_result["created_at"]),
70+
recommend_timestamp=parse(recommended_result["created_at"])
71+
if recommended_result
72+
else None,
7173
books_params=books_params,
7274
private_metadata=metadata_str,
7375
),
@@ -99,7 +101,7 @@ def home_move_to_next_action(ack, client, body): # pylint: disable=too-many-loc
99101

100102
recommended_result = recommend_service.recommend(user)
101103

102-
books_params = None
104+
books_params: Optional[BooksParam] = None
103105
metadata_str = ""
104106

105107
books = book_service.get_books(
@@ -128,7 +130,9 @@ def home_move_to_next_action(ack, client, body): # pylint: disable=too-many-loc
128130
user_info_action_id="user_info_action",
129131
total_review_count=total_review_count,
130132
user_name=user_name,
131-
recommend_timestamp=parse(recommended_result["created_at"]),
133+
recommend_timestamp=parse(recommended_result["created_at"])
134+
if recommended_result
135+
else None,
132136
books_params=books_params,
133137
private_metadata=metadata_str,
134138
),
@@ -160,7 +164,7 @@ def home_move_to_back_action(ack, client, body): # pylint: disable=too-many-loc
160164
private_metadata=private_metadata
161165
)
162166

163-
books_params = None
167+
books_params: Optional[BooksParam] = None
164168
metadata_str = ""
165169

166170
books = book_service.get_books_before(
@@ -184,12 +188,15 @@ def home_move_to_back_action(ack, client, body): # pylint: disable=too-many-loc
184188
user_id=user_id,
185189
view=home(
186190
post_review_action_id="post_review_action",
187-
recommended_books=recommended_result["recommended_books"],
191+
recommended_books=recommended_result
192+
and recommended_result["recommended_books"],
188193
list_user_posted_review_action_id="list_user_posted_review_action",
189194
user_info_action_id="user_info_action",
190195
total_review_count=total_review_count,
191196
user_name=user_name,
192-
recommend_timestamp=parse(recommended_result["created_at"]),
197+
recommend_timestamp=parse(recommended_result["created_at"])
198+
if recommended_result
199+
else None,
193200
books_params=books_params,
194201
private_metadata=metadata_str,
195202
),
@@ -215,7 +222,7 @@ def handle_update_button_action(
215222
recommended_result = recommend_service.recommend(user)
216223
recommended_books = recommended_result["recommended_books"]
217224

218-
books_params = None
225+
books_params: Optional[BooksParam] = None
219226
metadata_str = ""
220227

221228
books = book_service.get_books(limit=BOOK_NUMBER_PER_PAGE, keys=[])
@@ -271,7 +278,9 @@ def handle_update_button_action(
271278
user_info_action_id="user_info_action",
272279
total_review_count=total_review_count,
273280
user_name=user_name,
274-
recommend_timestamp=parse(recommended_result["created_at"]),
281+
recommend_timestamp=parse(recommended_result["created_at"])
282+
if recommended_result
283+
else None,
275284
books_params=books_params,
276285
private_metadata=metadata_str,
277286
)

lambda/app/bee_slack_app/view_controller/review.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import json
22
import os
3-
from typing import Any, TypedDict
3+
from typing import Any, Optional, TypedDict
44

55
from slack_bolt import App
66

@@ -85,11 +85,13 @@ def read_review_of_user_action(ack, body, client, action):
8585

8686
reviews = []
8787

88+
reviews_param: Optional[ReviewPagination] = None
89+
8890
if review_items:
8991
reviews = review_items["items"]
9092
reviews = _make_review_contents_list_comment_short(reviews)
9193

92-
reviews_param: ReviewPagination = {
94+
reviews_param = {
9395
"reviews": reviews,
9496
"show_move_to_back": False,
9597
"show_move_to_next": review_items["has_next"],
@@ -140,7 +142,7 @@ def review_move_to_next_action(
140142
)
141143
user_id_of_review = metadata_dict["user_id_of_review"]
142144

143-
reviews_param = None
145+
reviews_param: Optional[ReviewPagination] = None
144146
metadata_str = ""
145147

146148
review_items = review_service.get_next_reviews_by_user_id(
@@ -155,7 +157,7 @@ def review_move_to_next_action(
155157
reviews = review_items["items"]
156158
reviews = _make_review_contents_list_comment_short(reviews)
157159

158-
reviews_param: ReviewPagination = {
160+
reviews_param = {
159161
"reviews": review_items["items"],
160162
"show_move_to_back": True,
161163
"show_move_to_next": review_items["has_next"],
@@ -199,7 +201,7 @@ def review_move_to_back_action(
199201
)
200202
user_id_of_review = metadata_dict["user_id_of_review"]
201203

202-
reviews_param = None
204+
reviews_param: Optional[ReviewPagination] = None
203205
metadata_str = ""
204206

205207
review_items = review_service.get_before_reviews_by_user_id(
@@ -214,7 +216,7 @@ def review_move_to_back_action(
214216
reviews = review_items["items"]
215217
reviews = _make_review_contents_list_comment_short(reviews)
216218

217-
reviews_param: ReviewPagination = {
219+
reviews_param = {
218220
"reviews": review_items["items"],
219221
"show_move_to_back": not review_items["is_move_to_first"],
220222
"show_move_to_next": True,
@@ -356,6 +358,10 @@ def handle_submission(
356358
)
357359

358360
if notify:
361+
if not review:
362+
# TODO: エラーログ出力
363+
return
364+
359365
user = user_service.get_user(review["user_id"])
360366
review["user_name"] = (
361367
_make_detailed_user_name(user) if user else review["user_id"]

0 commit comments

Comments
 (0)