@@ -41,6 +41,12 @@ def parse_args() -> argparse.Namespace:
4141 help = "Get at most this many problems (decrease if leetcode API times out)" ,
4242 default = 1000 ,
4343 )
44+ parser .add_argument (
45+ "--list-id" ,
46+ type = str ,
47+ help = "Get all questions from a specific list id (https://leetcode.com/list?selectedList=<list_id>" ,
48+ default = "" ,
49+ )
4450
4551 args = parser .parse_args ()
4652
@@ -96,7 +102,7 @@ async def generate_anki_note(
96102 )
97103
98104
99- async def generate (start : int , stop : int , page_size : int ) -> None :
105+ async def generate (start : int , stop : int , page_size : int , list_id : str ) -> None :
100106 """
101107 Generate an Anki deck
102108 """
@@ -163,7 +169,7 @@ async def generate(start: int, stop: int, page_size: int) -> None:
163169 )
164170 leetcode_deck = genanki .Deck (LEETCODE_ANKI_DECK_ID , "leetcode" )
165171
166- leetcode_data = leetcode_anki .helpers .leetcode .LeetcodeData (start , stop , page_size )
172+ leetcode_data = leetcode_anki .helpers .leetcode .LeetcodeData (start , stop , page_size , list_id )
167173
168174 note_generators : List [Coroutine [Any , Any , LeetcodeNote ]] = []
169175
@@ -191,8 +197,8 @@ async def main() -> None:
191197 """
192198 args = parse_args ()
193199
194- start , stop , page_size = args .start , args .stop , args .page_size
195- await generate (start , stop , page_size )
200+ start , stop , page_size , list_id = args .start , args .stop , args .page_size , args . list_id
201+ await generate (start , stop , page_size , list_id )
196202
197203
198204if __name__ == "__main__" :
0 commit comments