{"action":"created","issue":{"url":"https://api.github.com/repos/abesto/duolingo-to-anki/issues/9","labels_url":"https://api.github.com/repos/abesto/duolingo-to-anki/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/abesto/duolingo-to-anki/issues/9/comments","events_url":"https://api.github.com/repos/abesto/duolingo-to-anki/issues/9/events","html_url":"https://github.com/abesto/duolingo-to-anki/issues/9","id":74182110,"number":9,"title":"Flashcard download broken","user":{"login":"Ghabry","id":1331889,"avatar_url":"https://avatars.githubusercontent.com/u/1331889?v=3","gravatar_id":"","url":"https://api.github.com/users/Ghabry","html_url":"https://github.com/Ghabry","followers_url":"https://api.github.com/users/Ghabry/followers","following_url":"https://api.github.com/users/Ghabry/following{/other_user}","gists_url":"https://api.github.com/users/Ghabry/gists{/gist_id}","starred_url":"https://api.github.com/users/Ghabry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ghabry/subscriptions","organizations_url":"https://api.github.com/users/Ghabry/orgs","repos_url":"https://api.github.com/users/Ghabry/repos","events_url":"https://api.github.com/users/Ghabry/events{/privacy}","received_events_url":"https://api.github.com/users/Ghabry/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/abesto/duolingo-to-anki/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-05-08T01:08:05Z","updated_at":"2015-05-08T12:21:33Z","closed_at":null,"body":"Since a few days the flashcard URL returns no cards at all.\r\n\r\n```\r\nhttps://www.duolingo.com/api/1/flashcards?n=10000&allow_partial_deck=true\r\n```\r\nPassing a smaller value to n, for me the highest possible is 135 (I have 146 words) works. But this won't list all recently learned vocabs :/\r\n"},"comment":{"url":"https://api.github.com/repos/abesto/duolingo-to-anki/issues/comments/100216066","html_url":"https://github.com/abesto/duolingo-to-anki/issues/9#issuecomment-100216066","issue_url":"https://api.github.com/repos/abesto/duolingo-to-anki/issues/9","id":100216066,"user":{"login":"abesto","id":59982,"avatar_url":"https://avatars.githubusercontent.com/u/59982?v=3","gravatar_id":"","url":"https://api.github.com/users/abesto","html_url":"https://github.com/abesto","followers_url":"https://api.github.com/users/abesto/followers","following_url":"https://api.github.com/users/abesto/following{/other_user}","gists_url":"https://api.github.com/users/abesto/gists{/gist_id}","starred_url":"https://api.github.com/users/abesto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abesto/subscriptions","organizations_url":"https://api.github.com/users/abesto/orgs","repos_url":"https://api.github.com/users/abesto/repos","events_url":"https://api.github.com/users/abesto/events{/privacy}","received_events_url":"https://api.github.com/users/abesto/received_events","type":"User","site_admin":false},"created_at":"2015-05-08T12:21:33Z","updated_at":"2015-05-08T12:21:33Z","body":"The entry-point for fetching words is https://github.com/abesto/duolingo-to-anki/blob/master/src/main/scala/net/abesto/duolingotoanki/Main.scala#L53-L56. `DuolingoFlashcardScraper` takes care of fetching data from the flashcard API. Then `DuolingoVocabularyScraper` apparently fetches metadata about the words to add for tags, but I'm a bit hazy on the details there. `translators.DuolingoToAnki` merges the two into a data format that will be used by `AnkiExporter`.\r\n\r\nThe URLs used and other constants can be found in `Constants.scala`.\r\n\r\nThe app used to use a different API, but it took some extra legwork to get a list of word-pairs from that; https://github.com/abesto/duolingo-to-anki/commit/3db970567779a1357835cab91e5d7c6d312b4bd6 is the commit that switched to the flashcards API.\r\n\r\nFor development I use [https://www.jetbrains.com/idea/](IntelliJ IDEA), it has a free and open-source edition that includes support for Scala."}}