Skip to content

Commit 182e387

Browse files
fix: check for keyword length before accessing
1 parent 9f84f43 commit 182e387

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

app/services/row_generator.py

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,29 +64,37 @@ def get_cname(code):
6464
return ""
6565

6666
# Strategy 1: Combined Keyword Row (Top Priority)
67-
if top_keywords:
68-
# keywords = random.sample(top_keywords, k=2)
69-
k_id1 = top_keywords[0][0]
70-
k_id2 = top_keywords[1][0]
71-
kw_name = await self._get_keyword_name(k_id1)
67+
if len(top_keywords) >= 2:
68+
k_id1, k_id2 = top_keywords[0][0], top_keywords[1][0]
69+
kw_name1 = await self._get_keyword_name(k_id1)
7270
kw_name2 = await self._get_keyword_name(k_id2)
73-
multiple_keywords = True
74-
title = gemini_service.generate_content(f"Keywords: {kw_name} + {kw_name2}")
75-
if not title:
76-
multiple_keywords = False
77-
title = normalize_keyword(kw_name)
78-
if multiple_keywords:
71+
title = ""
72+
if kw_name1 and kw_name2:
73+
title = gemini_service.generate_content(f"Keywords: {kw_name1} + {kw_name2}")
74+
75+
if title:
7976
rows.append(
8077
RowDefinition(
8178
title=title,
8279
id=f"watchly.theme.k{k_id1}.k{k_id2}",
8380
keywords=[k_id1, k_id2],
8481
)
8582
)
86-
else:
83+
elif kw_name1:
8784
rows.append(
8885
RowDefinition(
89-
title=title,
86+
title=normalize_keyword(kw_name1),
87+
id=f"watchly.theme.k{k_id1}",
88+
keywords=[k_id1],
89+
)
90+
)
91+
elif top_keywords:
92+
k_id1 = top_keywords[0][0]
93+
kw_name1 = await self._get_keyword_name(k_id1)
94+
if kw_name1:
95+
rows.append(
96+
RowDefinition(
97+
title=normalize_keyword(kw_name1),
9098
id=f"watchly.theme.k{k_id1}",
9199
keywords=[k_id1],
92100
)

0 commit comments

Comments
 (0)