Patch Anki 2.1.50 on Windows to have valid stdout
Something in Anki is setting stdout to Null. This is a problem because Anki itself is writing to it, particularly when printing warnings about the deprecated methods that we are using. This patches Anki using the same method that the upcoming Anki 2.1.51 is using.
This commit is contained in:
parent
ca90ef95fc
commit
8a84db971a
@ -27,6 +27,7 @@ import inspect
|
||||
import json
|
||||
import os
|
||||
import os.path
|
||||
import platform
|
||||
import re
|
||||
import time
|
||||
import unicodedata
|
||||
@ -1619,6 +1620,9 @@ class AnkiConnect:
|
||||
# when run inside Anki, `__name__` would be either numeric,
|
||||
# or, if installed via `link.sh`, `AnkiConnectDev`
|
||||
if __name__ != "plugin":
|
||||
if platform.system() == "Windows" and anki_version == (2, 1, 50):
|
||||
util.patch_anki_2_1_50_having_null_stdout_on_windows()
|
||||
|
||||
Edit.register_with_anki()
|
||||
|
||||
ac = AnkiConnect()
|
||||
|
@ -14,6 +14,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import anki
|
||||
import anki.sync
|
||||
@ -83,3 +84,10 @@ def setting(key):
|
||||
return aqt.mw.addonManager.getConfig(__name__).get(key, DEFAULT_CONFIG[key])
|
||||
except:
|
||||
raise Exception('setting {} not found'.format(key))
|
||||
|
||||
|
||||
# see https://github.com/FooSoft/anki-connect/issues/308
|
||||
# fixed in https://github.com/ankitects/anki/commit/0b2a226d
|
||||
def patch_anki_2_1_50_having_null_stdout_on_windows():
|
||||
if sys.stdout is None:
|
||||
sys.stdout = open(os.devnull, "w", encoding="utf8")
|
||||
|
Loading…
Reference in New Issue
Block a user