@@ -168,137 +168,161 @@ def load_user_preferences():
168168 user_preferences .update (yaml .load (f , Loader = yaml .FullLoader ))
169169
170170 def validate_user_preferences ():
171- global user_preferences
172- #check each user preference value to ensure it is present and valid, set default value if not
173-
174- # Speech:
175- #Impairment: Blindness # LearningDisability, LowVision, Blindness
176- valid_test_passed = False
177- try :
178- if user_preferences ["Speech" ]["Impairment" ] in ["LearningDisability" , "LowVision" , "Blindness" ]:
179- valid_test_passed = True
180- except :
181- pass
182- if not valid_test_passed :
183- user_preferences ["Speech" ]["Impairment" ] = "Blindness"
184-
185- # Verbosity: Medium # Terse, Medium, Verbose
186- valid_test_passed = False
187- try :
188- if user_preferences ["Speech" ]["Verbosity" ] in ["Terse" , "Medium" , "Verbose" ]:
189- valid_test_passed = True
190- except :
191- pass
192- if not valid_test_passed :
193- user_preferences ["Speech" ]["Verbosity" ] = "Medium"
194-
195- # MathRate: 100 # Change from text speech rate (%)
196- valid_test_passed = False
197- try :
198- if (user_preferences ["Speech" ]["MathRate" ] >= 10 ) and (user_preferences ["Speech" ]["MathRate" ] <= 1000 ):
199- valid_test_passed = True
200- except :
201- pass
202- if not valid_test_passed :
203- user_preferences ["Speech" ]["MathRate" ] = "100"
204-
205- # SpeechStyle: ClearSpeak # Any known speech style (falls back to ClearSpeak)
206- #no validity test
207-
208- # SubjectArea: General # FIX: still working on this
209- #no validity test
210-
211- # Chemistry: SpellOut # SpellOut (H 2 0), AsCompound (Water), Off (H sub 2 O)
212- valid_test_passed = False
213- try :
214- if user_preferences ["Speech" ]["Chemistry" ] in ["SpellOut" , "AsCompound" , "Off" ]:
215- valid_test_passed = True
216- except :
217- pass
218- if not valid_test_passed :
219- user_preferences ["Speech" ]["Chemistry" ] = "SpellOut"
220-
221- #Navigation:
222- # NavMode: Enhanced # Enhanced, Simple, Character
223- valid_test_passed = False
224- try :
225- if user_preferences ["Navigation" ]["NavMode" ] in ["Enhanced" , "Simple" , "Character" ]:
226- valid_test_passed = True
227- except :
228- pass
229- if not valid_test_passed :
230- user_preferences ["Navigation" ]["NavMode" ] = "Enhanced"
231-
232- # ResetNavMode: false # remember previous value and use it
233- valid_test_passed = False
234- try :
235- if (user_preferences ["Navigation" ]["ResetNavMode" ]) or (not user_preferences ["Navigation" ]["ResetNavMode" ]) :
236- valid_test_passed = True
237- except :
238- pass
239- if not valid_test_passed :
240- user_preferences ["Navigation" ]["ResetNavMode" ] = "false"
241-
242- # Overview: false # speak the expression or give a description/overview
243- valid_test_passed = False
244- try :
245- if (user_preferences ["Navigation" ]["Overview" ]) or True :
246- valid_test_passed = True
247- except :
248- pass
249- if not valid_test_passed :
250- user_preferences ["Navigation" ]["Overview" ] = "false"
251-
252- # ResetOverview: true # remember previous value and use it
253- valid_test_passed = False
254- try :
255- if (user_preferences ["Navigation" ]["ResetOverview" ]) or True :
256- valid_test_passed = True
257- except :
258- pass
259- if not valid_test_passed :
260- user_preferences ["Navigation" ]["ResetOverview" ] = "true"
261-
262- # NavVerbosity: Medium # Terse, Medium, Full (words to say for nav command)
263- valid_test_passed = False
264- try :
265- if user_preferences ["Navigation" ]["NavVerbosity" ] in ["Terse" , "Medium" , "Full" ]:
266- valid_test_passed = True
267- except :
268- pass
269- if not valid_test_passed :
270- user_preferences ["Navigation" ]["NavVerbosity" ] = "Medium"
271-
272- # AutoZoomOut: true # Auto zoom out of 2D exprs (use shift-arrow to force zoom out if unchecked)
273- valid_test_passed = False
274- try :
275- if (user_preferences ["Navigation" ]["AutoZoomOut" ]) or True :
276- valid_test_passed = True
277- except :
278- pass
279- if not valid_test_passed :
280- user_preferences ["Navigation" ]["AutoZoomOut" ] = "true"
281-
282- #Braille:
283- # BrailleNavHighlight: EndPoints # Highlight with dots 7 & 8 the current nav node -- values are Off, FirstChar, EndPoints, All
284- valid_test_passed = False
285- try :
286- if user_preferences ["Braille" ]["BrailleNavHighlight" ] in ["Off" , "FirstChar" , "EndPoints" , "All" ]:
287- valid_test_passed = True
288- except :
289- pass
290- if not valid_test_passed :
291- user_preferences ["Braille" ]["BrailleNavHighlight" ] = "EndPoints"
292-
293- # BrailleCode: "Nemeth" # Any supported braille code (currently Nemeth, UEB)
294- valid_test_passed = False
295- try :
296- if user_preferences ["Braille" ]["BrailleCode" ] in ["Nemeth" , "UEB" ]:
297- valid_test_passed = True
298- except :
299- pass
300- if not valid_test_passed :
301- user_preferences ["Braille" ]["BrailleCode" ] = "Nemeth"
171+ global user_preferences
172+ #check each user preference value to ensure it is present and valid, set default value if not
173+
174+ # Speech:
175+ #Impairment: Blindness # LearningDisability, LowVision, Blindness
176+ valid_test_passed = False
177+ try :
178+ if user_preferences ["Speech" ]["Impairment" ] in ["LearningDisability" , "LowVision" , "Blindness" ]:
179+ valid_test_passed = True
180+ except :
181+ pass
182+ if not valid_test_passed :
183+ user_preferences ["Speech" ]["Impairment" ] = "Blindness"
184+
185+ # Language: en # any known language code and sub-code -- could be en-uk, etc
186+ valid_test_passed = False
187+ try :
188+ if user_preferences ["Speech" ]["Language" ] != "" :
189+ valid_test_passed = True
190+ except :
191+ pass
192+ if not valid_test_passed :
193+ user_preferences ["Speech" ]["Language" ] = "en"
194+
195+ # Verbosity: Medium # Terse, Medium, Verbose
196+ valid_test_passed = False
197+ try :
198+ if user_preferences ["Speech" ]["Verbosity" ] in ["Terse" , "Medium" , "Verbose" ]:
199+ valid_test_passed = True
200+ except :
201+ pass
202+ if not valid_test_passed :
203+ user_preferences ["Speech" ]["Verbosity" ] = "Medium"
204+
205+ # MathRate: 100 # Change from text speech rate (%)
206+ valid_test_passed = False
207+ try :
208+ if (user_preferences ["Speech" ]["MathRate" ] > 0 ):
209+ valid_test_passed = True
210+ except :
211+ pass
212+ if not valid_test_passed :
213+ user_preferences ["Speech" ]["MathRate" ] = 100
214+
215+ # SpeechStyle: ClearSpeak # Any known speech style (falls back to ClearSpeak)
216+ valid_test_passed = False
217+ try :
218+ if user_preferences ["Speech" ]["SpeechStyle" ] != "" :
219+ valid_test_passed = True
220+ except :
221+ pass
222+ if not valid_test_passed :
223+ user_preferences ["Speech" ]["SpeechStyle" ] = "ClearSpeak"
224+
225+ # SubjectArea: General # FIX: still working on this
226+ valid_test_passed = False
227+ try :
228+ if user_preferences ["Speech" ]["SubjectArea" ] != "" :
229+ valid_test_passed = True
230+ except :
231+ pass
232+ if not valid_test_passed :
233+ user_preferences ["Speech" ]["SubjectArea" ] = "General"
234+
235+ # Chemistry: SpellOut # SpellOut (H 2 0), AsCompound (Water), Off (H sub 2 O)
236+ valid_test_passed = False
237+ try :
238+ if user_preferences ["Speech" ]["Chemistry" ] in ["SpellOut" , "AsCompound" , "Off" ]:
239+ valid_test_passed = True
240+ except :
241+ pass
242+ if not valid_test_passed :
243+ user_preferences ["Speech" ]["Chemistry" ] = "SpellOut"
244+
245+ #Navigation:
246+ # NavMode: Enhanced # Enhanced, Simple, Character
247+ valid_test_passed = False
248+ try :
249+ if user_preferences ["Navigation" ]["NavMode" ] in ["Enhanced" , "Simple" , "Character" ]:
250+ valid_test_passed = True
251+ except :
252+ pass
253+ if not valid_test_passed :
254+ user_preferences ["Navigation" ]["NavMode" ] = "Enhanced"
255+
256+ # ResetNavMode: false # remember previous value and use it
257+ valid_test_passed = False
258+ try :
259+ if (user_preferences ["Navigation" ]["ResetNavMode" ]) or (not user_preferences ["Navigation" ]["ResetNavMode" ]) :
260+ valid_test_passed = True
261+ except :
262+ pass
263+ if not valid_test_passed :
264+ user_preferences ["Navigation" ]["ResetNavMode" ] = False
265+
266+ # Overview: false # speak the expression or give a description/overview
267+ valid_test_passed = False
268+ try :
269+ if (user_preferences ["Navigation" ]["Overview" ]) or True :
270+ valid_test_passed = True
271+ except :
272+ pass
273+ if not valid_test_passed :
274+ user_preferences ["Navigation" ]["Overview" ] = False
275+
276+ # ResetOverview: true # remember previous value and use it
277+ valid_test_passed = False
278+ try :
279+ if (user_preferences ["Navigation" ]["ResetOverview" ]) or True :
280+ valid_test_passed = True
281+ except :
282+ pass
283+ if not valid_test_passed :
284+ user_preferences ["Navigation" ]["ResetOverview" ] = True
285+
286+ # NavVerbosity: Medium # Terse, Medium, Verbose (words to say for nav command)
287+ valid_test_passed = False
288+ try :
289+ if user_preferences ["Navigation" ]["NavVerbosity" ] in ["Terse" , "Medium" , "Verbose" ]:
290+ valid_test_passed = True
291+ except :
292+ pass
293+ if not valid_test_passed :
294+ user_preferences ["Navigation" ]["NavVerbosity" ] = "Medium"
295+
296+ # AutoZoomOut: true # Auto zoom out of 2D exprs (use shift-arrow to force zoom out if unchecked)
297+ valid_test_passed = False
298+ try :
299+ if (user_preferences ["Navigation" ]["AutoZoomOut" ]) or True :
300+ valid_test_passed = True
301+ except :
302+ pass
303+ if not valid_test_passed :
304+ user_preferences ["Navigation" ]["AutoZoomOut" ] = True
305+
306+ #Braille:
307+ # BrailleNavHighlight: EndPoints # Highlight with dots 7 & 8 the current nav node -- values are Off, FirstChar, EndPoints, All
308+ valid_test_passed = False
309+ try :
310+ if user_preferences ["Braille" ]["BrailleNavHighlight" ] in ["Off" , "FirstChar" , "EndPoints" , "All" ]:
311+ valid_test_passed = True
312+ except :
313+ pass
314+ if not valid_test_passed :
315+ user_preferences ["Braille" ]["BrailleNavHighlight" ] = "EndPoints"
316+
317+ # BrailleCode: "Nemeth" # Any supported braille code (currently Nemeth, UEB)
318+ valid_test_passed = False
319+ try :
320+ if user_preferences ["Braille" ]["BrailleCode" ] in ["Nemeth" , "UEB" ]:
321+ valid_test_passed = True
322+ except :
323+ pass
324+ if not valid_test_passed :
325+ user_preferences ["Braille" ]["BrailleCode" ] = "Nemeth"
302326
303327 def write_user_preferences ():
304328 if not os .path .exists (UserInterface .path_to_user_preferences_folder ()):
0 commit comments