Re: Braille Extender add-on: much needed code cleanup, rewrites, proper Python 3 porting and optimizations in progress



Perhaps. What can help with that effort is source code comments and separating patches into separate modules so that when it comes time to send pull requests to NVDA, just the needed parts can be picked and submitted. Another thing I’m going to do (provided that Andre agrees) is convert scripts into script decorators, along with letting the add-on take advantage of more modern NVDA changes.



From: <> On Behalf Of Leonard de Ruijter
Sent: Thursday, July 16, 2020 1:20 AM
Subject: Re: [nvda-devel] Braille Extender add-on: much needed code cleanup, rewrites, proper Python 3 porting and optimizations in progress


Hey Joseph,


Though I don't have time too look into this myself, I really dig this idea and am looking forward for it to progress.

One thing that could also be taken into account while refactoring is monkey patching. If we have an overview of what functionality in the add-on requires monkeypatching currently, we can propose better ways in NVDA core to handle these cases, such as with extension points.





On 16/07/2020 09:50, Joseph Lee wrote:

Hello all, especially to Braille Extender fans,


People watching Braille Extender GitHub repo ( may have noticed various issues about code maintenance and such, with the ultimate goal being bringing requested features from this add-on to NVDA itself. In preparation for that, I’m studying and taking notes on cleaning up the add-on source code with the following goals in mind:


  • Properly port Braille Extender to Python 3
  • Make source code conform better with Python idioms, best practices, and expectations
  • Run general lint over the entire source code to make them more readable and compliant with expectations from NVDA source code
  • Perform under the hood optimizations (this involves bytecode disassembly)


Knowing that I and Andre cannot do this alone, I would like to request your assistance in identifying much needed rewrites throughout Braille Extender add-on. At the moment I’m working on Python 3 porting, Flake8-based lint, and under the hood optimizations. See the above link for source code URL, and if you can, please submit new issues on the repo and send in pull requests to Andre. And please don’t forget that whenever you look at this add-on, be mindful that some of its features may end up becoming part of NVDA in the future.





Join to automatically receive all group messages.