Skip to content

Commit 924fc23

Browse files
committed
Add frequency to cards
1 parent 620ac77 commit 924fc23

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

generate.py

+18-2
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ async def _get_problem_data(self, problem_slug: str) -> Dict[str, str]:
9191
query="""
9292
query getQuestionDetail($titleSlug: String!) {
9393
question(titleSlug: $titleSlug) {
94+
freqBar
9495
questionId
9596
questionFrontendId
9697
boundTopicId
@@ -222,6 +223,10 @@ async def tags(self, problem_slug: str) -> List[str]:
222223
data = await self._get_problem_data(problem_slug)
223224
return list(map(lambda x: x.slug, data.topic_tags))
224225

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+
225230

226231
class LeetcodeNote(genanki.Note):
227232
@property
@@ -265,7 +270,7 @@ async def generate_anki_note(
265270
leetcode_task_title: str,
266271
topic: str,
267272
) -> LeetcodeNote:
268-
return LeetcodeNote(
273+
note = LeetcodeNote(
269274
model=leetcode_model,
270275
fields=[
271276
leetcode_task_handle,
@@ -286,10 +291,15 @@ async def generate_anki_note(
286291
* 100
287292
)
288293
),
294+
str(await leetcode_data.freq_bar(leetcode_task_handle)),
289295
],
290296
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),
291299
)
292300

301+
return note
302+
293303

294304
async def generate(start: int, stop: int) -> None:
295305
leetcode_model = genanki.Model(
@@ -308,6 +318,7 @@ async def generate(start: int, stop: int) -> None:
308318
{"name": "SubmissionsTotal"},
309319
{"name": "SubmissionsAccepted"},
310320
{"name": "SumissionAcceptRate"},
321+
{"name": "Frequency"},
311322
# TODO: add hints
312323
],
313324
templates=[
@@ -322,6 +333,11 @@ async def generate(start: int, stop: int) -> None:
322333
({{SumissionAcceptRate}}%)
323334
<br/>
324335
<b>Topic:</b> {{Topic}}<br/>
336+
<b>Frequency:</b>
337+
<progress value="{{Frequency}}" max="100">
338+
{{Frequency}}%
339+
</progress>
340+
<br/>
325341
<b>URL:</b>
326342
<a href='https://leetcode.com/problems/{{Slug}}/'>
327343
https://leetcode.com/problems/{{Slug}}/
@@ -352,7 +368,7 @@ async def generate(start: int, stop: int) -> None:
352368

353369
note_generators: List[Coroutine[Any, Any, LeetcodeNote]] = []
354370

355-
for topic, leetcode_task_title, leetcode_task_handle in list(
371+
for (topic, leetcode_task_title, leetcode_task_handle) in list(
356372
get_leetcode_task_handles()
357373
)[start:stop]:
358374
note_generators.append(

requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
python-leetcode==1.0.9
1+
python-leetcode==1.0.10
22
setuptools==57.5.0
33
diskcache
44
genanki

0 commit comments

Comments
 (0)