Modernize prepare-dev.py

Review Request #10179 — Created Sept. 25, 2018 and submitted — Latest diff uploaded

Information

Review Board
release-2.5.x
62a2eef...

Reviewers

Our prepare-dev.py was doing quite a few things that weren't best
practices:

  • Global mutable state in the form of options.
  • Using the deprecated optparse module instead of argparse.
  • No docstrings anywhere.

These issues have all been addressed. Where we were previously using
global mutable state we now pass our state as an argument to the
function that requires it (create_settings). Our argument parser has
been updated to use argparse.ArgumentParser. The module and all
functions now have docstrings that meet our documentation guidelines.

Additionally, I cleaned up control flow a bit in main() where things
were running in a try..except that didn't need to.

Ran prepare-dev.py and it ran correctly.