Skip to content

Commit

Permalink
Merge 2.7 code (#121)
Browse files Browse the repository at this point in the history
* Rename README file.
* Start work on Language feature.
* UI work.
* Gui work.
* Rename Translator to GuiTranslator.
* Start working on translators.
* Refactor card type language storage.
* Translator work.
* UI work.
* Fix regression.
* Start work on Pronouncer.
* Start work on Google TTS dialog.
* UI work.
* UI work.
* Support for different fonts in TTS dialog.
* Only use real foreign text for Pronouncers and Translators.
* Default filename for tts.
* TTS work.
* Fix for #93.
* Fix for headless sync server.
* Fix science server cgi script.
* Better error checking for log uploading.
* TTS work.
* TTS work.
* Bug fix with language association to card type.
* TTS work.
* GUI work.
* Unicode Android issues.
* Fix #100.
* Fix for DST issues, closes #98.
* Save subdir per card type.
* Path work.
* More path fixes.
* Refactor.
* Architectural work.
* Update.
* Cleanup and bug fixes.
* Android autohiding menu work.
* Language work.
* Multiple 'used_for' support.
* Finish clean up API.
* Packaging work.
* Threading fixes.
* Fix for escaped hex unicode in text file import.
* Fix cramming recent cards.
* Add languages.
* Language work.
* Language work.
* UI for sublanguages.
* Bug fixes.
* Bug fixes.
* Bug fixes.
* Bug fixes.
* Start work on translator ui.
* Translation widget.
* Bug fixes.
* Finish UI for Google translate.
* Add tooltips.
* Cleanup.
* More card conversion bug fixes.
* Fix Anki import testsuite regression.
* Fix testsuite.
  • Loading branch information
pbienst committed Oct 25, 2019
1 parent 5f6703f commit 8688711
Show file tree
Hide file tree
Showing 751 changed files with 125,555 additions and 121,775 deletions.
19 changes: 19 additions & 0 deletions ChangeLog
Expand Up @@ -9,6 +9,25 @@ This might also help with other hard crashes.
If this does not help, or if you see a black screen, try starting Mnemosyne
with the --qt-opengl=desktop command line argument.)

Mnemosyne 2.7:

- Use system language as default language (code by Adam Papai).
- Only warn once per day about the number of cards you learned, even if you open
and close Mnemosyne inbetween (code by Adam Papai).
- More error checking when uploading science logs. To avoid missing files from
the past, Mnemosyne will reupload all of your old logs as well.
- Disallow starting a headless sync server in case no password is set up (patch
by Marcin Mielniczuk).
- Fix for "Cram recently learned new cards" (reported by Manfred Ernst).
- Fix for escaped hex unicode in text file import (reported by JDelage).
- Fix for headless sync server losing user id (report by Marcin Mielniczuk).
- Fix for Anki learning data import (reported by syonax).
- Various minor cleanups and fixes (Marcin Mielniczuk).
- Fix txt import under Mac (reported by Henrik and JDelage, fixed by Devin \
Howard).
- Fix for continuous reset of scheduler when DST changes (reported by
ADFairbanks).

Mnemosyne 2.6.1: 2018-08-07

- In the grade and easiness statistics, added option to only show active cards,
Expand Down
3 changes: 3 additions & 0 deletions README.py → README
Expand Up @@ -8,6 +8,9 @@
- cheroot (https://pypi.python.org/pypi/Cheroot/) 5 or later
- Webob (http://webob.org) 1.4 or later
- Pillow (http://python-pillow.org)
- gTTS for Google text-to-speech (https://pypi.org/project/gTTS/)
- googletrans for Google translate support
(https://pypi.org/project/googletrans/)
- For Latex support: the latex and dvipng commands must be available
(e.g. TeXLive)

Expand Down
6 changes: 4 additions & 2 deletions README.md 100644 → 100755
Expand Up @@ -74,7 +74,7 @@ git checkout master
git merge upstream/master
```

If there are new changes, your repository now looks like this (each number symbolyses a commit):
If there are new changes, your repository now looks like this (each number symbolises a commit):

```
your local master branch: ---1-2-3-4'-5'-6'-7'-8' (new changes from upstream)
Expand Down Expand Up @@ -124,7 +124,9 @@ To start working on Mnemosyne, you need at least the following software.
- [cheroot](https://pypi.python.org/pypi/Cheroot/) 5 or later
- [Webob](http://webob.org) 1.4 or later
- [Pillow](http://python-pillow.org)
- For Latex support: the `latex` and `dvipng` commands must be available (e.g., `TeXLive` on Linux, `MacTeX` on Mac, and `MikTeX` on Windows). On Arch based distributions, you'll need `texlive-core` package too.
- [gTTS](https://pypi.org/project/gTTS/) for Google text-to-speech
- [googletrans](https://pypi.org/project/googletrans/) for Google translate support
- For Latex support: the `latex` and `dvipng` commands must be available (e.g., `TeXLive` on Linux, `MacTeX` on Mac, and `MikTeX` on Windows). On Arch based distributions, you'll need `texlive-core` package too.
- For building the docs: [sphinx](http://sphinx-doc.org)
- For running the tests: [nose](https://nose.readthedocs.io/en/latest/)

Expand Down
55 changes: 52 additions & 3 deletions TODO 100644 → 100755
@@ -1,11 +1,41 @@
-testsuite: why does Mnemosyne try to set an English translator?

-merge other branches

-check into automated import of translations

-Add Language, Translator, Pronouncer to website. Add gtts and googletrans to requirements

-switch from 'uploaded' log file to 'uploaded2'

Infrastucture:
-upgrade to PyQt5.11, but this also requires migrating to 64 bit
-Python 3.7? Android is still 3.6, though
-copy and paste from review window?
-switch to PyOxidizer



Android:

-switch to Chaquopy.
-Or standard NDK with Chaquopy python binary? Chaquopy seems to be built on top
of Crystax as well: https://chaquo.com/maven/com/chaquo/python/target/
-https://github.com/inclement/crystax_python_builds
-https://github.com/codelv/enaml-native

-unicode sync issue: upload utf filename from Android, client.py line 548

CRYSTAX_NDX := C:/crystax-ndk-10.3.2
buildDir = "C:/tmp/${rootProject.name}/${project.name}" in local.properties
update build docs

-look into fixes reported by dashboard
-integrated error reporting:
https://developers.google.com/analytics/devguides/collection/android/v4/exceptions
http://stackoverflow.com/questions/11552963/how-to-get-crash-dialog-with-report-button
-check 'redraw now'
-Cramming widget for Android
-cramming widget for Android
-setting to allow choosing the database location?
-revisit multiple database option?
-'sync' button should sync directly without going through the sync settings
Expand All @@ -19,12 +49,27 @@ http://stackoverflow.com/questions/11552963/how-to-get-crash-dialog-with-report-
-option to globally increase / decrease font size with respect to desktop
-custom fonts?

check into automated import of translations

if pyinstaller has been updated: upgrade PyQt5

Minor bugs / issues:

-editing a tag by clicking in the tree does not get saved
-tree expansion status does not get saved
- wheelock anki deck:
- where does div on import appear? e.g. numerus
- searching for div turns up wrong results?
- empty ()
- checking for unused tags scales badly when deleting 1500 cards
- can result in deleting same tag twice?
-Are the configuration settings properly synced?
-Delete current card which is sentence card with only a sentence field does not
seem to work.
-Adding the "enabled" tag does not automatically get rid of the cross-out in the
card browser.
-Prevent commas in tag names also when using 'create_new_cards' in script.
-Incoming sync when card browser is open does not work.
-Add cloze from card browser, preview does not update correctly
to show new number of cards
-For Latex on OSX: try and have OSX search system paths, or otherwise edit config.py
latex = "/Library/TeX/texbin/latex -output-format=dvi -interaction=nonstopmode"
dvipng = "/Library/TeX/texbin/dvipng -D 200 -T tight tmp.dvi"
Expand Down Expand Up @@ -151,6 +196,8 @@ created with just the "»" symbol.

Other features:

- plugin to deactivate cards in a certain cardtype after X retention reps.

-check for required fields when using the Anki card type.

-first doing a count and then the actual a query is not a good idea:?
Expand Down Expand Up @@ -550,3 +597,5 @@ Design warts:
save settings. Rework everything better in the sync protocol.
Other issue related to storage is that built-in CardTypes like Sentence cannot store extra_data, so we resorted to e.g.
storing the language info in config.db
- related: config().card_type_property(): refactor to be members of card_type as
opposed to of config.py
Empty file modified darwin/Info.plist 100644 → 100755
Empty file.
Empty file modified darwin/README.md 100644 → 100755
Empty file.
8 changes: 4 additions & 4 deletions makefile
Expand Up @@ -10,9 +10,9 @@ endif

PYTHON35 := python3
# If we are on cygwin:
ifeq (1,$(shell /cygdrive/c/Program\ Files\ \(x86\)/Python36-32/python.exe -c "print(1)" 2>&- ))
PYTHON := /cygdrive/c/Program\ Files\ \(x86\)/Python36-32/python.exe
PYTHON35 := /cygdrive/c/Program\ Files\ \(x86\)/Python\ 3.5/python.exe
ifeq (1,$(shell /cygdrive/c/Program\ Files/Python37/python.exe -c "print(1)" 2>&- ))
PYTHON := /cygdrive/c/Program\ Files/Python37/python.exe
PYTHON36 := /cygdrive/c/Program\ Files\ \(x86\)/Python\ 3.6/python.exe
endif
# If `sphinx-build2` exists:
ifneq (,$(shell command -v sphinx-build2 2>&- ))
Expand Down Expand Up @@ -53,7 +53,7 @@ test-prep:
cd po && make ../mo/de/LC_MESSAGES/mnemosyne.mo

test: test-prep
$(PYTHON) -m nose tests
$(PYTHON) -m nose -v tests

coverage: test-prep
rm -rf .coverage cover htmlcov
Expand Down
38 changes: 19 additions & 19 deletions mnemosyne.1 100644 → 100755
@@ -1,19 +1,19 @@
.TH MNEMOSYNE 1 "" "Mnemosyne" "Spaced Repetition Flash-card Program"
.SH NAME
mnemosyne \- spaced repetition flash-card program
.SH SYNOPSIS
.B mnemosyne
.RI [ options ]
.SH DESCRIPTION
The Mnemosyne software resembles a traditional flash-card program to help you
memorise question/answer pairs, but with an important twist: it uses a
sophisticated algorithm to schedule the best time for a card to come up for
review. Difficult cards that you tend to forget quickly will be scheduled more
often, while Mnemosyne won't waste your time on things you remember well.

Since Mnemosyne is a Qt application, it is usually not started from a shell,
but from an X11 menu, and doesn't take many options. For a few hints on how to
use the software, see the homepage at http://www.mnemosyne-proj.org
.SH AUTHOR
mnemosyne was written by Peter Bienstman <Peter.Bienstman@UGent.be> and friends

.TH MNEMOSYNE 1 "" "Mnemosyne" "Spaced Repetition Flash-card Program"
.SH NAME
mnemosyne \- spaced repetition flash-card program
.SH SYNOPSIS
.B mnemosyne
.RI [ options ]
.SH DESCRIPTION
The Mnemosyne software resembles a traditional flash-card program to help you
memorise question/answer pairs, but with an important twist: it uses a
sophisticated algorithm to schedule the best time for a card to come up for
review. Difficult cards that you tend to forget quickly will be scheduled more
often, while Mnemosyne won't waste your time on things you remember well.

Since Mnemosyne is a Qt application, it is usually not started from a shell,
but from an X11 menu, and doesn't take many options. For a few hints on how to
use the software, see the homepage at http://www.mnemosyne-proj.org
.SH AUTHOR
mnemosyne was written by Peter Bienstman <Peter.Bienstman@UGent.be> and friends

Empty file modified mnemosyne.desktop 100644 → 100755
Empty file.

0 comments on commit 8688711

Please sign in to comment.