Add josse to CONTRIBUTORS

This commit is contained in:
josse 2025-09-19 10:42:34 +02:00
parent eaec154019
commit cc56adf83e
2 changed files with 20 additions and 14 deletions

View file

@ -26,7 +26,7 @@ GitHub's online interface.
For users who previously confirmed the license of their contributions on the For users who previously confirmed the license of their contributions on the
support site, it would be great if you could add your name below as well. support site, it would be great if you could add your name below as well.
******************** ---
AMBOSS MD Inc. <https://www.amboss.com/> AMBOSS MD Inc. <https://www.amboss.com/>
Aristotelis P. <https://glutanimate.com/contact> Aristotelis P. <https://glutanimate.com/contact>
@ -243,8 +243,9 @@ Lee Doughty <32392044+leedoughty@users.noreply.github.com>
memchr <memchr@proton.me> memchr <memchr@proton.me>
Max Romanowski <maxr777@proton.me> Max Romanowski <maxr777@proton.me>
Aldlss <ayaldlss@gmail.com> Aldlss <ayaldlss@gmail.com>
josse <112946011+josod827@users.noreply.github.com>
******************** ---
The text of the 3 clause BSD license follows: The text of the 3 clause BSD license follows:
@ -254,15 +255,15 @@ Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this 1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer. list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution. and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors 3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without may be used to endorse or promote products derived from this software without
specific prior written permission. specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

View file

@ -30,16 +30,16 @@ import aqt.operations
from anki import hooks from anki import hooks
from anki.collection import OpChanges, OpChangesOnly, Progress, SearchNode from anki.collection import OpChanges, OpChangesOnly, Progress, SearchNode
from anki.decks import UpdateDeckConfigs from anki.decks import UpdateDeckConfigs
from anki.errors import BackendError
from anki.scheduler.v3 import SchedulingStatesWithContext, SetSchedulingStatesRequest from anki.scheduler.v3 import SchedulingStatesWithContext, SetSchedulingStatesRequest
from anki.utils import dev_mode from anki.utils import dev_mode
from anki.errors import BackendError
from aqt.changenotetype import ChangeNotetypeDialog from aqt.changenotetype import ChangeNotetypeDialog
from aqt.deckoptions import DeckOptionsDialog from aqt.deckoptions import DeckOptionsDialog
from aqt.operations import on_op_finished from aqt.operations import on_op_finished
from aqt.operations.deck import update_deck_configs as update_deck_configs_op from aqt.operations.deck import update_deck_configs as update_deck_configs_op
from aqt.progress import ProgressUpdate from aqt.progress import ProgressUpdate
from aqt.qt import * from aqt.qt import *
from aqt.utils import aqt_data_path, show_warning, tr, showWarning from aqt.utils import aqt_data_path, show_warning, tr
# https://forums.ankiweb.net/t/anki-crash-when-using-a-specific-deck/22266 # https://forums.ankiweb.net/t/anki-crash-when-using-a-specific-deck/22266
waitress.wasyncore._DISCONNECTED = waitress.wasyncore._DISCONNECTED.union({EPROTOTYPE}) # type: ignore waitress.wasyncore._DISCONNECTED = waitress.wasyncore._DISCONNECTED.union({EPROTOTYPE}) # type: ignore
@ -703,9 +703,14 @@ def _extract_collection_post_request(path: str) -> DynamicRequest | NotFound:
else: else:
response = _text_response(HTTPStatus.NO_CONTENT, "") response = _text_response(HTTPStatus.NO_CONTENT, "")
except BackendError as e: except BackendError as e:
# special case empty file error from csv import
if "empty" in str(e).lower(): if "empty" in str(e).lower():
def warn():
showWarning("The file you selected is empty and cannot be imported.") def warn() -> None:
show_warning(
"The file you selected is empty and cannot be imported."
)
aqt.mw.taskman.run_on_main(warn) aqt.mw.taskman.run_on_main(warn)
return _text_response(HTTPStatus.NO_CONTENT, "") return _text_response(HTTPStatus.NO_CONTENT, "")
else: else: