@@ -91,6 +91,7 @@ async def _get_problem_data(self, problem_slug: str) -> Dict[str, str]:
91
91
query = """
92
92
query getQuestionDetail($titleSlug: String!) {
93
93
question(titleSlug: $titleSlug) {
94
+ freqBar
94
95
questionId
95
96
questionFrontendId
96
97
boundTopicId
@@ -222,6 +223,10 @@ async def tags(self, problem_slug: str) -> List[str]:
222
223
data = await self ._get_problem_data (problem_slug )
223
224
return list (map (lambda x : x .slug , data .topic_tags ))
224
225
226
+ async def freq_bar (self , problem_slug : str ) -> float :
227
+ data = await self ._get_problem_data (problem_slug )
228
+ return data .freq_bar or 0
229
+
225
230
226
231
class LeetcodeNote (genanki .Note ):
227
232
@property
@@ -286,8 +291,11 @@ async def generate_anki_note(
286
291
* 100
287
292
)
288
293
),
294
+ str (await leetcode_data .freq_bar (leetcode_task_handle )),
289
295
],
290
296
tags = await leetcode_data .tags (leetcode_task_handle ),
297
+ # FIXME: sort field doesn't work doesn't work
298
+ sort_field = str (await leetcode_data .freq_bar (leetcode_task_handle )).zfill (3 ),
291
299
)
292
300
293
301
@@ -308,6 +316,7 @@ async def generate(start: int, stop: int) -> None:
308
316
{"name" : "SubmissionsTotal" },
309
317
{"name" : "SubmissionsAccepted" },
310
318
{"name" : "SumissionAcceptRate" },
319
+ {"name" : "Frequency" },
311
320
# TODO: add hints
312
321
],
313
322
templates = [
@@ -322,6 +331,11 @@ async def generate(start: int, stop: int) -> None:
322
331
({{SumissionAcceptRate}}%)
323
332
<br/>
324
333
<b>Topic:</b> {{Topic}}<br/>
334
+ <b>Frequency:</b>
335
+ <progress value="{{Frequency}}" max="100">
336
+ {{Frequency}}%
337
+ </progress>
338
+ <br/>
325
339
<b>URL:</b>
326
340
<a href='https://leetcode.com/problems/{{Slug}}/'>
327
341
https://leetcode.com/problems/{{Slug}}/
0 commit comments