From ef0beec28d3f567b0617a48fd3f291020c45e29f Mon Sep 17 00:00:00 2001 From: Pavel Safronov Date: Fri, 22 Oct 2021 18:57:35 +0100 Subject: [PATCH] Add frequency to cards --- generate.py | 14 ++++++++++++++ requirements.txt | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/generate.py b/generate.py index 0eca753..f44d6ac 100755 --- a/generate.py +++ b/generate.py @@ -91,6 +91,7 @@ async def _get_problem_data(self, problem_slug: str) -> Dict[str, str]: query=""" query getQuestionDetail($titleSlug: String!) { question(titleSlug: $titleSlug) { + freqBar questionId questionFrontendId boundTopicId @@ -222,6 +223,10 @@ async def tags(self, problem_slug: str) -> List[str]: data = await self._get_problem_data(problem_slug) return list(map(lambda x: x.slug, data.topic_tags)) + async def freq_bar(self, problem_slug: str) -> float: + data = await self._get_problem_data(problem_slug) + return data.freq_bar or 0 + class LeetcodeNote(genanki.Note): @property @@ -286,8 +291,11 @@ async def generate_anki_note( * 100 ) ), + str(await leetcode_data.freq_bar(leetcode_task_handle)), ], tags=await leetcode_data.tags(leetcode_task_handle), + # FIXME: sort field doesn't work doesn't work + sort_field=str(await leetcode_data.freq_bar(leetcode_task_handle)).zfill(3), ) @@ -308,6 +316,7 @@ async def generate(start: int, stop: int) -> None: {"name": "SubmissionsTotal"}, {"name": "SubmissionsAccepted"}, {"name": "SumissionAcceptRate"}, + {"name": "Frequency"}, # TODO: add hints ], templates=[ @@ -322,6 +331,11 @@ async def generate(start: int, stop: int) -> None: ({{SumissionAcceptRate}}%)
Topic: {{Topic}}
+ Frequency: + + {{Frequency}}% + +
URL: https://leetcode.com/problems/{{Slug}}/ diff --git a/requirements.txt b/requirements.txt index 8c5de1c..303a307 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -python-leetcode==1.0.9 +python-leetcode==1.0.10 setuptools==57.5.0 diskcache genanki