Giter Site home page Giter Site logo

wilddom / memrise2anki-extension Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pschlette/memrise2anki-extension

161.0 161.0 22.0 275 KB

An extension for Anki 2 that downloads and converts a course from Memrise into an Anki deck.

License: ISC License

Python 100.00%

memrise2anki-extension's People

Contributors

benwoodward avatar dli7319 avatar marcel4429 avatar pschlette avatar realmayus avatar slava-sh avatar wilddom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

memrise2anki-extension's Issues

fix incomplete reads

Error importing course - KeyError: 'pools'

I'm encountering the following error when attempting to import a course:

Traceback (most recent call last):
  File "/home/figdanivi/.local/share/Anki2/addons/Memrise_Course_Importer/importer.py", line 146, in run
    course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
  File "/home/figdanivi/.local/share/Anki2/addons/Memrise_Course_Importer/memrise.py", line 776, in loadCourse
    return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
  File "/home/figdanivi/.local/share/Anki2/addons/Memrise_Course_Importer/memrise.py", line 579, in loadCourse
    level = self.loadLevel(course, levelIndex)
  File "/home/figdanivi/.local/share/Anki2/addons/Memrise_Course_Importer/memrise.py", line 647, in loadLevel
    pool = self.loadPool(levelData["pools"][unicode(poolId)])
KeyError: 'pools'

Please tell me if you would like me to provide any additional information.

Unicode bug

Importing a course with an unicode character in the course title fails.

For instance: http://www.memrise.com/course/318053/-1926/

Traceback (most recent call last):
  File "anki/data/addons/Memrise_Course_Importer/importer.py", line 402, in importCourse
    model = self.selectModel(course, deck)
  File "anki/data/addons/Memrise_Course_Importer/importer.py", line 324, in selectModel
    model = self.createMemriseModel(mw.col, course)
  File "anki/data/addons/Memrise_Course_Importer/importer.py", line 278, in createMemriseModel
    name = "Memrise {}".format(self.camelize(course.title))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-18: ordinal not in range(128)

IndexError: list index out of range

Traceback (most recent call last):
  File "C:\Users\Stefan\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 345, in importCourse
    ankiNote = self.getNote(deck['name'], course, thing)
  File "C:\Users\Stefan\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 315, in getNote
    notes = mw.col.findNotes(u'deck:"{}" {}:"{}" {}:"{}"'.format(deckName, pair[0], thing.source[0], pair[1], thing.target[0]))
IndexError: list index out of range

https://anki.tenderapp.com/discussions/add-ons/982-memrise-add-on

Invalid credentials

untitled

I just wanted to ask if you could help with an error that is displayed in my anki. I copied your plugin's files over the original addon and when I try to use the plugin it asks for Memrise login data. Then "invalid credentials" pops up, I am a hundred percent sure that the data is correct. Thanks for replying or solving the issue.

download errors should not abort import

As reported here: https://anki.tenderapp.com/discussions/add-ons/4300-memrise2anki-top-actors-270

This addon worked flawlessly with

Modern Actors/Actresses
http://www.memrise.com/course/131011/modern-actorsactresses/

but, when importing this:
http://www.memrise.com/course/39778/top-actors-270/

Traceback (most recent call last): 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 127, in run 
    course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self)) 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 635, in loadCourse 
    return courseLoader.loadCourse(self.getCourseIdFromUrl(url)) 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 501, in loadCourse 
    level = self.loadLevel(course, levelIndex) 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 584, in loadLevel 
    self.notify('thingLoaded', thing) 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 483, in notify 
    getattr(observer, signal)(*attrs, **kwargs) 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 69, in thingLoaded 
    self.downloadMedia(thing) 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 48, in downloadMedia 
    thing.setLocalImageUrls(colName, filter(bool, map(download, thing.getImageUrls(colName)))) 
  File "C:\Users\GEPS\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 691, in downloadMedia 
    raise e 
urllib2.HTTPError: HTTP Error 404: Not Found

RuntimeError: wrapped C/C++ object of type RunnableWrapper has been deleted

  1. Go to Tools->Import Memrise Course...
  2. Paste in URL of a course without image mems.*
  3. Keep "Import Mems" checked.
  4. Press OK.
  5. It should fail with 403 error. Click Abort.
  6. Press OK again, and I get an error.

To fix problem, close dialog and reopen it again.

An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons

Traceback (most recent call last):
  File "D:\Users\user\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 904, in loadCourse
    self.loader.start(courseUrl)
  File "D:\Users\user\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 128, in start
    QThreadPool.globalInstance().start(self.runnable)
RuntimeError: wrapped C/C++ object of type RunnableWrapper has been deleted

Missing columns

URL: http://www.memrise.com/course/58727/irregular-french-verbs-2/

An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons

Traceback (most recent call last):
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/importer.py", line 146, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 725, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 555, in loadCourse
level = self.loadLevel(course, levelIndex)
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 636, in loadLevel
thing = thingLoader.loadThing(thingRowData, self.service.toAbsoluteMediaUrl)
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 460, in loadThing
cell = row['columns'][unicode(column.index)]
KeyError: u'3'

Import top 3 mems

This extension only imports mems you've already chosen, but it would be more helpful if it imported the top 3 most voted mems and showed them as hints in the Anki cards, so you don't need to check memrise all the time for mems when learning new words.

Error while importing

Traceback (most recent call last):
File "C:\Users\Viktor\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\importer.py", line 146, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "C:\Users\Viktor\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 776, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "C:\Users\Viktor\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 579, in loadCourse
level = self.loadLevel(course, levelIndex)
File "C:\Users\Viktor\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 647, in loadLevel
pool = self.loadPool(levelData["pools"][unicode(poolId)])
KeyError: 'pools'

Cant load courses

Hi wilddom,

thanks for your extensive work on this addon. However, recently I faced an error and can't load courses (see log below).

I tried multiple version of your extension (all available) as well as different Anki versions (2.1 Beta, 2.0.47, 2.0.44, 2.0.36)

Maybe you can help me out :-)

Cheers Max

An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons

Traceback (most recent call last):
File "C:\Users\Max\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\importer.py", line 146, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "C:\Users\Max\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 779, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "C:\Users\Max\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 579, in loadCourse
level = self.loadLevel(course, levelIndex)
File "C:\Users\Max\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 640, in loadLevel
if levelData["success"] == False:
KeyError: 'success'

Image 403 errors

I made a comment in issue #11 about your 403 errors, however I felt that this specific issue regarding image 403 errors needed its own new issue for clarification purposes. Feel free to merge or delete this issue if you would rather follow #11


I tried to download a deck that came up with the 403 image error, then I went through the deck on the website and found this out.

For all images with 403 errors reported by the plugin, the paths were in the following format,
http://static.memrise.com/static/uploads/mems/32000100826111644.gif

But the actual paths were, (omitting /static/)
http://static.memrise.com/uploads/mems/32000100826111644.gif

The course I used for testing was,
http://www.memrise.com/course/749/introductory-chinese-read-a-menu-no-audio/

Why some of the images have correct paths and download, while others don't, I am not sure, but there is definitely a problem. It's probably ๐Ÿ’ฏ% fixable, thankfully.

Unable to "Download media files"

I am having an error downloading media files. See the error below. I am using the latest version, the commit 3 days ago for https. Maybe memrise changed more than just their https?

De-selecting the "download media files" options works perfectly still.

Traceback (most recent call last):
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/importer.py", line 146, in run
    course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 752, in loadCourse
    return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 568, in loadCourse
    level = self.loadLevel(course, levelIndex)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 659, in loadLevel
    self.notify('thingLoaded', thing)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 549, in notify
    getattr(observer, signal)(*attrs, **kwargs)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/importer.py", line 70, in thingLoaded
    self.downloadMedia(thing)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/importer.py", line 51, in downloadMedia
    audio.localUrl = self.sender.download(audio.remoteUrl)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/importer.py", line 110, in download
    return self.memriseService.downloadMedia(url, skipExisting=self.skipExistingMedia)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 809, in downloadMedia
    data = self.openWithRetry(url).read()
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 715, in openWithRetry
    return self.opener.open(url)
  File "/usr/lib/python2.7/urllib2.py", line 429, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 447, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 697, in https_open
    return self.do_open_wrapped(httplib.HTTPSConnection, req)
  File "/home/jasoons/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 687, in do_open_wrapped
    response = self.do_open(http_class, req)
  File "/usr/lib/python2.7/urllib2.py", line 1195, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.7/httplib.py", line 1057, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1097, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1053, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 897, in _send_output
    self.send(msg)
  File "/usr/share/anki/aqt/sync.py", line 441, in _incrementalSend
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 1278, in connect
    server_hostname=server_hostname)
  File "/usr/lib/python2.7/ssl.py", line 353, in wrap_socket
    _context=self)
  File "/usr/lib/python2.7/ssl.py", line 601, in __init__
    self.do_handshake()
  File "/usr/lib/python2.7/ssl.py", line 838, in do_handshake
    match_hostname(self.getpeercert(), self.server_hostname)
  File "/usr/lib/python2.7/ssl.py", line 272, in match_hostname
    % (hostname, ', '.join(map(repr, dnsnames))))
ssl.CertificateError: hostname u'static.memrise.com' doesn't match either of 'cloudfront.net', '*.cloudfront.net'

New Import Issue After Latest Update

Hello, and thank you not only for the plug-in, but for your continued support of it.

After the latest update, I was able to successfully import a course, but then came across the following error when I tried to import a second different course. The only thing I can think of is that the second course starts (and ends) with multimedia levels (both are just text). Although such levels never provided an issue in the past, perhaps something has changed that now needs to be accounted for within the code. I may be wrong, but it could be a starting point when you go to look into the issue.

Traceback (most recent call last):
File "C:\Users...\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\importer.py", line 146, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "C:\Users...\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 776, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "C:\Users...\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 565, in loadCourse
levelData = self.service.loadLevelData(course.id, 1)
File "C:\Users...\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 785, in loadLevelData
raise LevelNotFoundError("Level not found: {}".format(levelIndex))
Memrise_Course_Importer.memrise.LevelNotFoundError: Level not found: 1

Thank you again for your continued work on this add-on. Keep up the great work!

KeyError: 'total_correct' on import

Course: http://www.memrise.com/course/1252/intermediate-italian-2/
Rev: 6eb2c12
Anki Version: 2.0.36 (windows)

Trace:

An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons

Traceback (most recent call last):
  File "C:\Users\Mike\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 146, in run
    course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
  File "C:\Users\Mike\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 725, in loadCourse
    return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
  File "C:\Users\Mike\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 555, in loadCourse
    level = self.loadLevel(course, levelIndex)
  File "C:\Users\Mike\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 629, in loadLevel
    level.pool.schedule.add(self.loadScheduleInfo(userData, level.pool))
  File "C:\Users\Mike\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 583, in loadScheduleInfo
    scheduleInfo.correct = data['total_correct']
KeyError: 'total_correct'

Manual field mapping

Do manual field mapping (per model) in case the standard field names don't exist

please update the addon on Ankiweb (memrise has switched to https - login fails)

Hi wilddom,

thanks a lot for your importer.

It seems that in the meantime Memrise has switched from http to https:

> ~/Documents/Anki/addons/Memrise_Course_Importer/memrise.py(749)login()
    748         response2 = self.openWithRetry(request2)
--> 749         return response2.geturl() == 'http://www.memrise.com/home/'
    750 

ipdb> response2.geturl()
'https://www.memrise.com/home/'

which makes the login procedure in the memrise2anki-extension addon fail (line 749 will evaluate to False).

Replacing http with https on line 749 fixes the immediate problem, however similar problems pop up further down along the code execution path. I.e. on line 655 of importer.py the dialog requests the URL of the Memrise course and suggests and expects a http (without an 's') address exclusively. If given a https address the dialogue will not switch the "OK" (proceed...) button from greyed out to active.

There are many reports on your Anki addons page (https://ankiweb.net/shared/info/889633840) reporting that login problem, so a little s/http/https/ should fix that...

Plugin continues working in background after window is closed

I put some popup code in one of the calls, and found out that the plugin continues to operate in the background even after clicking the red X to close the window. Perhaps there's some way to abort the running task if the window gets closed, or keep the window from being closed and provide a Quit button in the UI.

Audio files download but don't play

Hi, I've downloaded numerous memrise courses but the audio never plays (although it does download the files as I can see them in the \Anki\User 1\collection.media directory.

I have the latest version 2.0.32 of Anki running on windows 7 and I install your addon as follows:

  1. Open Anki and go to >Tools >Add ons >Browse&Install and then enter the code 1959202519
  2. Go to github here https://github.com/wilddom/memrise2anki-extension and click the download zip button and save the zip file to the desktop.
  3. Then in anki go to >Tools >Add ons >Open Addons folder and paste the zip file just downloaded in here.
  4. Close anki.
  5. Extract the zip file and overwrite the old addon files with the new ones just downloaded
  6. Open anki.
  7. Go to >tools >import memrise course and enter your memrise login details
  8. Then paste the link of the course you want to download and select the relvant options from the dialogue (I left them at there default settings).
  9. Under note type I selected 'basic'
  10. Under memrise fields I mapped front to english and back to french
  11. Under assign template I selected 'card1' (the only option)

If there's anything I'm doing wrong it would be great if you let me know as I'm desperateto get the audio working as I keep getting my pronounciations wrong without it LOL. Thanks.

ValueError on loadScheduleInfo in memrise.py

I got a ValueError: unconverted data remains: Z on line 601 of memrise.py. I was able to fix it with try/except block on scheduleInfo.due, but not sure if this is the best long-term solution. It looks like imported dates on Memrise might not always be formatted the same way.

Will this extension import my mems from memrise?

This extension says it can import a course from memrise, but does it currently allow you to import your mems from memrise? (Mems are the notes you create to help you learn and remember the information.)

Downloads broken

After your last commit to fix #26 :/ , downloads no longer work. It just sits there at 0%. I tested without the change, and downloading works properly without the commit for issue #26.

Courses Without Defined Levels

Hello,
thank you for your continued support of this add-on, especially after the most recent update. However, I have run into a problem where a course cannot be downloaded if that course does not have its words partitioned into levels. An example of such a course can be found here:

https://www.memrise.com/course/264547/1900-most-common-words-in-nepali/

Trying to download and import this course, as well as similar courses, into Anki results in the following error message:

Traceback (most recent call last):
File "C:\Users...\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\importer.py", line 146, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "C:\Users...\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 785, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "C:\Users...\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 566, in loadCourse
course.title = sanitizeName(courseData["session"]["course"]["name"], u"Course")
TypeError: 'NoneType' object has no attribute 'getitem'

I fully understand that you may not get around to fixing this right away due to being busy with other things, and, actually, I would expect that to be the case. I just thought that you would like to know that this issue exists.

Thank you again for your continued work on this. It is very much appreciated.

Show number of things in progressbar

QProgressbar::setFormat()

%p - is replaced by the percentage completed. %v - is replaced by the current value. %m - is replaced by the total number of steps.

Import presentation order for never seen levels

Hello,

It seems that when importing courses, that the things are inserted in Anki in not necessarily the same order you would learn them on the memrise site.

I did a bit of digging around in order to better understand the data that memrise2anki-extension uses in order to hopefully point out a track toward a solution.

It seems that the appropriate presentation order should use the boxes property from the ajax/session endpoint to schedule learning when the thingusers property is empty. Not doing so currently results in a somewhat random scheduling order. Scheduling is well separated between levels, but the ordering within the levels makes it harder to learn things when you're shown the composite word before its base word.

The boxes property is an array with items

{
  "template": "presentation",
  "thing_id": THING_ID,
  "column_a": 1,
  "column_b": 2
}

which appears to follow the order used when displaying the cards in preview mode.

Thus, it seems that given an empty thingusers, the boxes list order should be used in order to create the cards/notes in the proper order to ease learning.

As a side request (if this change is implemented), it would be nice if one could only update the schedule/presentation order of unseen cards/notes through the import mechanism. Otherwise I guess one can delete the whole deck and reimport.

"invalid credential"

From now how, I cannot use the extension.

When I launch the extension, it asks me my login/password (btw i was l previously logged, and for months), and either answers

invalid credential

or

Traceback (most recent call last):
  File "C:\Users\Matthieu\Documents\Anki\addons\Memrise_Course_Importer\importer.py", line 210, in accept
    if self.memriseService.login(self.usernameLineEdit.text(),self.passwordLineEdit.text()):
  File "C:\Users\Matthieu\Documents\Anki\addons\Memrise_Course_Importer\memrise.py", line 736, in login
    for field in form.findAll("input"):
AttributeError: 'NoneType' object has no attribute 'findAll'

Key error Succes

This is what I get when I'm trying to import a course:

An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons

Traceback (most recent call last):
File "C:\Users*\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\importer.py", line 144, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "C:\Users*
\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 779, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "C:\Users*\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 579, in loadCourse
level = self.loadLevel(course, levelIndex)
File "C:\Users*
\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 640, in loadLevel
if levelData["success"] == False:
KeyError: 'success'

Error occured while importing

http://www.memrise.com/course/323711/learn-french-7329-words-122h/

Traceback (most recent call last):
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/importer.py", line 146, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 725, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 555, in loadCourse
level = self.loadLevel(course, levelIndex)
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 629, in loadLevel
level.pool.schedule.add(self.loadScheduleInfo(userData, level.pool))
File "/home/gaussfrank/Documents/Anki/addons/Memrise_Course_Importer/memrise.py", line 583, in loadScheduleInfo
scheduleInfo.correct = data['total_correct']
KeyError: 'total_correct'

Bug Report when attempting import

Traceback (most recent call last):
File "C:\Users\USERNAME\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\importer.py", line 146, in run
course = self.memriseService.loadCourse(self.url, MemriseCourseLoader.Observer(self))
File "C:\Users\USERNAME\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 752, in loadCourse
return courseLoader.loadCourse(self.getCourseIdFromUrl(url))
File "C:\Users\USERNAME\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 568, in loadCourse
level = self.loadLevel(course, levelIndex)
File "C:\Users\USERNAME\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 644, in loadLevel
level.pool.schedule.add(self.loadScheduleInfo(userData, level.pool))
File "C:\Users\USERNAME\AppData\Roaming\Anki2\addons\Memrise_Course_Importer\memrise.py", line 601, in loadScheduleInfo
scheduleInfo.due = utcToLocal(datetime.datetime.strptime(data['next_date'], "%Y-%m-%dT%H:%M:%S"))
File "_strptime.py", line 328, in _strptime
ValueError: unconverted data remains: Z

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.