@@ -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