• 
      

    Fix all known remaining compatibility issues with Django 1.7+.

    Review Request #7423 — Created June 13, 2015 and submitted

    Information

    Djblets
    release-0.9.x
    b468dd4...

    Reviewers

    This updates djblets.cache, djblets.datagrid, and djblets.gravatar to be
    compatible with newer versions of Django. These include pulling in some
    backwards-compatibility functions and updating to use the proper APIs.
    
    In the case of datagrids, the profile-related code has finally been
    removed. I've changed the logic to no longer assume the existence of
    User.get_profile(), and instead to allow subclasses to override a
    function that returns some object (a profile model, or something else)
    for use in data storage.

    All unit tests pass on Django 1.6 and 1.8.

    Description From Last Updated

    'gravatar' imported but unused

    reviewbot reviewbot

    Col: 1 E302 expected 2 blank lines, found 0

    reviewbot reviewbot

    undefined name 'InvalidCacheBackendError'

    reviewbot reviewbot

    undefined name 'InvalidCacheBackendError'

    reviewbot reviewbot

    undefined name 'parse_qsl'

    reviewbot reviewbot

    Col: 42 E226 missing whitespace around arithmetic operator

    reviewbot reviewbot

    This will now fail if profile is None.

    david david

    This docstring isn't in the right format.

    david david

    Single quotes.

    david david

    Single quotes.

    david david

    from __future__ import unicode_literals

    brennie brennie

    Can you expand this to say where it comes from? Also this should probably include django's LICENSE.

    david david

    Docstring formatting.

    brennie brennie

    single quotes.

    brennie brennie

    blank line between these.

    brennie brennie

    blank line between these.

    brennie brennie
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
      
      
    2. djblets/gravatars/templatetags/tests.py (Diff revision 1)
       
       
      Show all issues
       'gravatar' imported but unused
      
    3. Show all issues
      Col: 1
       E302 expected 2 blank lines, found 0
      
    4. Show all issues
       undefined name 'InvalidCacheBackendError'
      
    5. Show all issues
       undefined name 'InvalidCacheBackendError'
      
    6. Show all issues
       undefined name 'parse_qsl'
      
    7. Show all issues
      Col: 42
       E226 missing whitespace around arithmetic operator
      
    8. 
        
    chipx86
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
      
      
    2. 
        
    david
    1. 
        
    2. djblets/datagrid/grids.py (Diff revision 2)
       
       
       
       
       
       
       
       
       
       
       
      Show all issues

      This will now fail if profile is None.

    3. djblets/util/compat/django/core/cache.py (Diff revision 2)
       
       
       
       
       
       
      Show all issues

      This docstring isn't in the right format.

      1. It's upstream from Django. I want to minimize what we touch there, to keep it easy to diff/update when we need to.

    4. Show all issues

      Single quotes.

    5. Show all issues

      Single quotes.

    6. 
        
    chipx86
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
      
      
    2. 
        
    brennie
    1. 
        
    2. Show all issues

      from __future__ import unicode_literals

      1. This file is an upstream Django file (anything in djblets.util.compat.django is upstream), so to keep behavior and content as close as possible, I'm not making any changes to this to match our codebase or to change behavior (such as forcing Unicode).

    3. djblets/util/compat/django/core/cache.py (Diff revision 3)
       
       
       
       
       
       
      Show all issues

      Docstring formatting.

    4. Show all issues

      single quotes.

    5. djblets/util/compat/django/core/cache.py (Diff revision 3)
       
       
       
      Show all issues

      blank line between these.

    6. djblets/util/compat/django/core/cache.py (Diff revision 3)
       
       
       
      Show all issues

      blank line between these.

    7. 
        
    david
    1. 
        
    2. djblets/util/compat/django/core/cache.py (Diff revision 3)
       
       
       
      Show all issues

      Can you expand this to say where it comes from? Also this should probably include django's LICENSE.

    3. 
        
    chipx86
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
          djblets/util/compat/django/core/files/locks.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          djblets/datagrid/grids.py
          djblets/gravatars/templatetags/tests.py
          djblets/cache/backend_compat.py
          djblets/util/compat/django/core/cache.py
          djblets/util/compat/django/core/files/locks.py
      
      
    2. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-0.9.x (e9dd302)