monkey patch for QSettings test
This commit is contained in:
43
deftest.py
43
deftest.py
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
import faulthandler
|
||||||
import os
|
import os
|
||||||
|
import signal
|
||||||
import sys
|
import sys
|
||||||
from typing import cast
|
from typing import cast
|
||||||
|
|
||||||
@@ -14,6 +16,13 @@ from lib.utils import query_error
|
|||||||
from lib.words import Definition
|
from lib.words import Definition
|
||||||
|
|
||||||
|
|
||||||
|
def monkeyClose(self, event):
|
||||||
|
settings = QSettings("Troglodite", "esl_reader")
|
||||||
|
settings.setValue("geometry", self.saveGeometry())
|
||||||
|
super(DefinitionArea, self).closeEvent(event)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
def main() -> int:
|
def main() -> int:
|
||||||
db = QSqlDatabase()
|
db = QSqlDatabase()
|
||||||
db = db.addDatabase("QSQLITE")
|
db = db.addDatabase("QSQLITE")
|
||||||
@@ -24,17 +33,19 @@ def main() -> int:
|
|||||||
#
|
#
|
||||||
# Set Default settings
|
# Set Default settings
|
||||||
#
|
#
|
||||||
settings = QSettings('Troglodite', 'esl_reader')
|
settings = QSettings("Troglodite", "esl_reader")
|
||||||
settings.beginGroup('font')
|
settings.beginGroup("font")
|
||||||
if not settings.contains('display/url'):
|
if not settings.contains("display/url"):
|
||||||
settings.setValue('display/url', ':/fonts/opendyslexic/OpenDyslexic-Regular.otf')
|
settings.setValue(
|
||||||
if not settings.contains('display/name'):
|
"display/url", ":/fonts/opendyslexic/OpenDyslexic-Regular.otf"
|
||||||
settings.setValue('display/name', 'OpenDyslexic')
|
)
|
||||||
if not settings.contains('phonic/name'):
|
if not settings.contains("display/name"):
|
||||||
settings.setValue('phonic/name', 'Gentium')
|
settings.setValue("display/name", "OpenDyslexic")
|
||||||
|
if not settings.contains("phonic/name"):
|
||||||
|
settings.setValue("phonic/name", "Gentium")
|
||||||
settings.endGroup()
|
settings.endGroup()
|
||||||
if not settings.contains('keys/mw-api'):
|
if not settings.contains("keys/mw-api"):
|
||||||
settings.setValue('keys/mw-api','51d9df34-ee13-489e-8656-478c215e846c')
|
settings.setValue("keys/mw-api", "51d9df34-ee13-489e-8656-478c215e846c")
|
||||||
#
|
#
|
||||||
# Setup resources
|
# Setup resources
|
||||||
#
|
#
|
||||||
@@ -42,10 +53,10 @@ def main() -> int:
|
|||||||
os.path.join(os.path.dirname(__file__), "ui/resources.rcc"), "/"
|
os.path.join(os.path.dirname(__file__), "ui/resources.rcc"), "/"
|
||||||
):
|
):
|
||||||
raise Exception("Unable to register resources.rcc")
|
raise Exception("Unable to register resources.rcc")
|
||||||
settings.beginGroup('font')
|
settings.beginGroup("font")
|
||||||
for name in settings.childGroups():
|
for name in settings.childGroups():
|
||||||
if settings.contains(f'{name}/url'):
|
if settings.contains(f"{name}/url"):
|
||||||
QFontDatabase.addApplicationFont(settings.value(f'{name}/url'))
|
QFontDatabase.addApplicationFont(settings.value(f"{name}/url"))
|
||||||
settings.endGroup()
|
settings.endGroup()
|
||||||
query = QSqlQuery()
|
query = QSqlQuery()
|
||||||
if not query.exec(
|
if not query.exec(
|
||||||
@@ -55,9 +66,12 @@ def main() -> int:
|
|||||||
):
|
):
|
||||||
query_error(query)
|
query_error(query)
|
||||||
|
|
||||||
word = Word("boat")
|
word = Word("cowbell")
|
||||||
snd = SoundOff()
|
snd = SoundOff()
|
||||||
|
DefinitionArea.closeEvent = monkeyClose
|
||||||
widget = DefinitionArea(word) # xnoqa: F841
|
widget = DefinitionArea(word) # xnoqa: F841
|
||||||
|
settings = QSettings("Troglodite", "esl_reader")
|
||||||
|
widget.restoreGeometry(settings.value("geometry"))
|
||||||
d = cast(Definition, widget.widget())
|
d = cast(Definition, widget.widget())
|
||||||
assert d is not None
|
assert d is not None
|
||||||
d.pronounce.connect(snd.playSound)
|
d.pronounce.connect(snd.playSound)
|
||||||
@@ -66,4 +80,5 @@ def main() -> int:
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
faulthandler.register(signal.Signals.SIGUSR1)
|
||||||
sys.exit(main())
|
sys.exit(main())
|
||||||
|
|||||||
Reference in New Issue
Block a user