Modernize prepare-dev.py

Review Request #10179 — Created Sept. 26, 2018 and submitted

brennie
Review Board
release-2.5.x
10180
62a2eef...
reviewboard

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.

  • 0
  • 0
  • 4
  • 0
  • 4
Description From Last Updated
Checks run (1 failed, 1 succeeded)
flake8 failed.
JSHint passed.

flake8

brennie
david
  1. 
      
  2. contrib/internal/prepare-dev.py (Diff revision 2)
     
     

    It's kind of weird to have this be this late. I know we had a few people run into issues where trying to import reviewboard.cmdline.rbsite failed because there were missing dependencies. Can we move this up to be the first thing in the file?

  3. 
      
brennie
david
  1. 
      
  2. contrib/internal/prepare-dev.py (Diff revision 3)
     
     

    typo: cmdling

  3. contrib/internal/prepare-dev.py (Diff revision 3)
     
     

    I think this can just be "Parse the command-line arguments". Creating an argument parser is just an implementation detail that doesn't have any side effects.

  4. 
      
brennie
david
  1. Ship It!
  2. 
      
brennie
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-2.5.x (27617ee)
Loading...