Update management commands to work on newer versions of Django.

Review Request #8742 - Created Feb. 13, 2017 and submitted

Christian Hammond
Django Evolution
master
b2396f0...
django-evolution
Modern versions of Django require some changes for management commands.
For instance, ArgumentParser is used instead of OptionParser, and
options can't be defined directly on the class.

Django Evolution needs to support versions of Django prior to these
changes. In order to do that, we now have a new base class for
management commands that allows subclasses to adhere to the new
requirements while also providing backwards-compatibility for older
versions of Django. All common types of options are supported.

This brings us a step closer to supporting Django 1.10.

Unit tests pass.

Tested the management commands on Django 1.6 through 1.10.

Tested Djblets against these changes on Django 1.6 through 1.10.

  • 0
  • 0
  • 4
  • 2
  • 6
Description From Last Updated
Review Bot
  1. Tool: PEP8 Style Checker
    Processed Files:
        django_evolution/management/commands/wipe-evolution.py
        django_evolution/management/commands/evolve.py
        django_evolution/management/commands/list-evolutions.py
        django_evolution/compat/commands.py
    
    
    
    Tool: Pyflakes
    Processed Files:
        django_evolution/management/commands/wipe-evolution.py
        django_evolution/management/commands/evolve.py
        django_evolution/management/commands/list-evolutions.py
        django_evolution/compat/commands.py
    
    
  2.  'make_option' imported but unused
    
  3. 
      
David Trowbridge
  1. 
      
  2. django_evolution/compat/commands.py (Diff revision 1)
     
     

    I don't see where this method is used

    1. This is used internally by Django. I'll add docs.

  3. django_evolution/compat/commands.py (Diff revision 1)
     
     

    Docstring?

  4. django_evolution/compat/commands.py (Diff revision 1)
     
     

    Docstring?

  5. It might be nice to extract everything within this block into its own method--things are getting pretty deeply nested.

    1. I don't want to do any surgery for this command in this change.

  6. The cursor needs to be closed.

    1. Not making any changes beyond porting for this change. There's larger work I'd like to do anyway to gut most of this command.

    2. At least add a FIXME or TODO comment?

  7. 
      
Christian Hammond
Review Bot
  1. Tool: Pyflakes
    Processed Files:
        django_evolution/management/commands/wipe-evolution.py
        django_evolution/management/commands/evolve.py
        django_evolution/management/commands/list-evolutions.py
        django_evolution/compat/commands.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        django_evolution/management/commands/wipe-evolution.py
        django_evolution/management/commands/evolve.py
        django_evolution/management/commands/list-evolutions.py
        django_evolution/compat/commands.py
    
    
  2. 
      
Christian Hammond
Review Bot
  1. Tool: Pyflakes
    Processed Files:
        django_evolution/management/commands/wipe-evolution.py
        django_evolution/management/commands/evolve.py
        django_evolution/management/commands/list-evolutions.py
        django_evolution/compat/commands.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        django_evolution/management/commands/wipe-evolution.py
        django_evolution/management/commands/evolve.py
        django_evolution/management/commands/list-evolutions.py
        django_evolution/compat/commands.py
    
    
  2. 
      
David Trowbridge
  1. Ship It!
  2. 
      
Christian Hammond
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to master (597cbeb)
Loading...