wilddom / memrise2anki-extension

An extension for Anki 2 that downloads and converts a course from Memrise into an Anki deck.
ISC License
159 stars 22 forks source link

Import doesn't work #88

Closed igeljaeger closed 3 years ago

igeljaeger commented 3 years ago

(flatpak version) Debug info: Anki 2.1.33 (3f403040) Python 3.8.1 Qt 5.15.0 PyQt 5.15.0 Platform: Pop!_OS 20.04 LTS x86_64 Flags: frz=True ao=True sv=2 Add-ons, last update check: 2020-09-09 22:40:40 Add-ons possibly involved: ⁨memrise2anki-extension-master⁩

Caught exception: Traceback (most recent call last): File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 849, in importCourse raise exc_info0.with_traceback(exc_info[2]) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 150, in run course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self)) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/memrise.py", line 845, in loadCourse return courseLoader.loadCourse(self.getCourseIdFromUrl(url)) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/memrise.py", line 610, in loadCourse course.title = sanitizeName(courseData["session"]["course"]["name"], "Course") TypeError: 'NoneType' object is not subscriptable

same errors on the normal version from the repo:

Debug info: Anki 2.1.15 (442df9d6) Python 3.8.2 Qt 5.12.8 PyQt 5.14.1 Platform: Pop!_OS 20.04 LTS x86_64 Flags: frz=False ao=True sv=1 Add-ons possibly involved: memrise2anki-extension-master

Caught exception: File "/home/igel/.local/share/Anki2/addons21/memrise2anki-extension-master/importer.py", line 849, in importCourse raise exc_info0.with_traceback(exc_info[2]) File "/home/igel/.local/share/Anki2/addons21/memrise2anki-extension-master/importer.py", line 150, in run course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self)) File "/home/igel/.local/share/Anki2/addons21/memrise2anki-extension-master/memrise.py", line 845, in loadCourse return courseLoader.loadCourse(self.getCourseIdFromUrl(url)) File "/home/igel/.local/share/Anki2/addons21/memrise2anki-extension-master/memrise.py", line 610, in loadCourse course.title = sanitizeName(courseData["session"]["course"]["name"], "Course") <class 'TypeError'>: 'NoneType' object is not subscriptable

The add on was installed the manual way on both versions.

I'm not a coder so I'm not sure how to interpret or solve this myself.

eddielewis commented 3 years ago

I found a fix for this. I replaced every occurrence of "www.memrise" with "app.memrise" inside memrise.py within the Anki addon diretory.

LeavesEatingCow commented 3 years ago

@eddielewis Thank you soo much!

igeljaeger commented 3 years ago

@eddielewis that fixed the download but after I set the deck itself, I still get an error:

Caught exception: Traceback (most recent call last): File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 877, in importCourse model = self.modelMapper.getModel(thing, deck) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 386, in getModel self.models[thing.pool.id] = self.loadModel(thing, deck) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 370, in loadModel self.col.models.add(model) File "anki/models.py", line 220, in add File "anki/models.py", line 87, in save File "anki/models.py", line 231, in update File "anki/rsbackend_gen.py", line 414, in add_or_update_notetype File "anki/rsbackend.py", line 265, in _run_command anki.rsbackend.InvalidInput: InvalidInput { info: "1 template required" }

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 943, in importCourse raise exc_info0.with_traceback(exc_info[2]) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 877, in importCourse model = self.modelMapper.getModel(thing, deck) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 386, in getModel self.models[thing.pool.id] = self.loadModel(thing, deck) File "/home/igel/.var/app/net.ankiweb.Anki/data/Anki2/addons21/memrise2anki-extension-master/importer.py", line 370, in loadModel self.col.models.add(model) File "anki/models.py", line 220, in add File "anki/models.py", line 87, in save File "anki/models.py", line 231, in update File "anki/rsbackend_gen.py", line 414, in add_or_update_notetype File "anki/rsbackend.py", line 265, in _run_command anki.rsbackend.InvalidInput:

eddielewis commented 3 years ago

@Igeljaeger sorry I don't have any idea what is wrong with yours, mine worked perfectly after the fix. You'll have to wait for the maintainer to have a look.

wilddom commented 3 years ago

Could you try with the latest 1.2.2 release? And if that error still occurs please post the course url.

wilddom commented 3 years ago

This has been fixed in the latest 1.2.4 release