6 """ |
6 """ |
7 Module implementing the Web Browser Spell Checking configuration page. |
7 Module implementing the Web Browser Spell Checking configuration page. |
8 """ |
8 """ |
9 |
9 |
10 import os |
10 import os |
|
11 import contextlib |
11 |
12 |
12 from PyQt5.QtCore import ( |
13 from PyQt5.QtCore import ( |
13 pyqtSlot, Qt, QCoreApplication, QDir, QLibraryInfo, QLocale |
14 pyqtSlot, Qt, QCoreApplication, QDir, QLibraryInfo, QLocale |
14 ) |
15 ) |
15 from PyQt5.QtWidgets import QListWidgetItem |
16 from PyQt5.QtWidgets import QListWidgetItem |
63 self.spellCheckDictionaryDirectoriesEdit.setPlainText( |
64 self.spellCheckDictionaryDirectoriesEdit.setPlainText( |
64 "\n".join(self.__dictionaryDirectories)) |
65 "\n".join(self.__dictionaryDirectories)) |
65 # try to create these directories, if they don't exist |
66 # try to create these directories, if they don't exist |
66 for directory in self.__dictionaryDirectories: |
67 for directory in self.__dictionaryDirectories: |
67 if not os.path.exists(directory): |
68 if not os.path.exists(directory): |
68 try: |
69 with contextlib.suppress(os.error): |
69 os.makedirs(directory) |
70 os.makedirs(directory) |
70 except os.error: |
|
71 # ignore it |
|
72 pass |
|
73 |
71 |
74 self.__writeableDirectories = [] |
72 self.__writeableDirectories = [] |
75 for directory in self.__dictionaryDirectories: |
73 for directory in self.__dictionaryDirectories: |
76 if os.access(directory, os.W_OK): |
74 if os.access(directory, os.W_OK): |
77 self.__writeableDirectories.append(directory) |
75 self.__writeableDirectories.append(directory) |