• 
      

    Add the avatar services registry

    Review Request #7809 — Created Dec. 15, 2015 and submitted

    Information

    Review Board
    release-2.6.x

    Reviewers

    The avatar services registry is a new object for managing avatar
    services, which are defined to provide Review Board multiple ways of
    displaying user avatars. Currently, the only supported avatar service
    is the Gravatar (http://gravatar.com) service, which is what Review
    Board supported previously.

    This patch, however, does not migrate to use the new avatar services.

    Generated serach indexes have also been added to .gitignore.

    Ran unit tests.
    Used this in an upcoming patch.

    Description From Last Updated

    Should use ugettext_lazy

    daviddavid

    Docstring?

    daviddavid

    Since we render with a size specified, we should probably include width and height parameters in this tag. Also, can …

    daviddavid

    We should mark_safe this.

    daviddavid

    Col: 25 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 29 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 19 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 23 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 17 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 23 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 32 E241 multiple spaces after ':'

    reviewbotreviewbot

    I know it wasn't already, but can we alphabetize this list?

    daviddavid

    Perhaps we should rename these so they start with avatar_service so they all bunch together?

    daviddavid

    Let's go into a little more detail on this, at the very least saying "avatar services," but ideally clarifying what …

    chipx86chipx86

    Swap these.

    chipx86chipx86

    Ordering is backwards.

    chipx86chipx86

    Similar comment to my other review. We should have a capital letter after the ":", since that's typically how errors …

    chipx86chipx86

    Blank line between these.

    chipx86chipx86

    A property should generally have the same type as both the getter and setter. In this case, we're using a …

    chipx86chipx86

    ~ before the class path?

    chipx86chipx86

    Localized?

    chipx86chipx86

    Seeing a lot of inconsistency with the class paths in the docs. Some say reviewboard.accounts.avatars.services, some reviewboard.avatars.service, and some reviewboard.avatars.services.

    chipx86chipx86

    Might wrap better as: raise ItemLookupError( '...' % service) Same below. Also, these should be localized.

    chipx86chipx86

    I'm not sure it's clear what this really means, as written. Same below. Can we say what saving means, or …

    chipx86chipx86

    Sort of hitting a parse error with this sentence.

    chipx86chipx86

    Not necessarily true. Maybe: Whether the registry of avatars was newly populated by this call. If ``False``, the registry was …

    chipx86chipx86

    We know we're saving below, so probably no need to do that here.

    chipx86chipx86

    Should pass the service ID as a parameter, rather than a format string.

    chipx86chipx86

    "set"/"unsetting" doesn't mean a lot outside of the internals of the registries, I don't think. Maybe we can reword this?

    chipx86chipx86

    This is an internal detail I'd really rather not expose. It's cheap to fetch the SiteConfiguration, since we cache it, …

    chipx86chipx86

    Since this is something that developers will be interacting with, this should go into a lot more detail on what …

    chipx86chipx86

    This should go into more detail on what's expected and what's provided to the template.

    chipx86chipx86

    How about "The user whose avatar URL will be retrieved."

    chipx86chipx86

    Let's add "in pixels," and that this will be applied to both the width and the height.

    chipx86chipx86

    "... to HTML." This should go into more detail about how it's rendered (using template), and that it can be …

    chipx86chipx86

    Let's cache these on the request, taking into account the user ID and size. This will give us a nice …

    chipx86chipx86

    Let's have this in its own file. Refer to my thoughts at the top about directory structure.

    chipx86chipx86

    Two blank lines.

    chipx86chipx86

    This is kind of oddly written, and doesn't make it clear that service_id can impact this. This should be more …

    chipx86chipx86

    Let's pass the values as keyword arguments, in case we extend down the road.

    chipx86chipx86

    Col: 23 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 25 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 23 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 19 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 29 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 32 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 17 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 39 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 32 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 25 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 23 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 19 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 29 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 17 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    Two blank lines.

    chipx86chipx86

    This needs more detail on what this does and how it works, for people not familiar with what we're doing.

    chipx86chipx86

    This shouldn't have to be called here. It's already managed by the middleware and app initialize stuff, and when setting …

    chipx86chipx86

    This makes me nervous. Can we just set the things we need?

    chipx86chipx86

    'django_reset' imported but unused

    reviewbotreviewbot

    'from settings_local import *' used; unable to detect undefined names

    reviewbotreviewbot

    'PIPELINE_CSS' imported but unused

    reviewbotreviewbot

    'PIPELINE_JS' imported but unused

    reviewbotreviewbot

    Col: 23 E241 multiple spaces after ':'

    reviewbotreviewbot

    Things are misaligned here. Can we just shift this to be pep-8 style (even though it's not quite as pretty …

    daviddavid

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 24 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 25 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 23 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 19 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 29 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 30 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 31 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 26 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 28 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 17 E241 multiple spaces after ':'

    reviewbotreviewbot

    Col: 22 E241 multiple spaces after ':'

    reviewbotreviewbot

    This should all fit on one line.

    daviddavid

    'django_reset' imported but unused

    reviewbotreviewbot

    'from settings_local import *' used; unable to detect undefined names

    reviewbotreviewbot

    'PIPELINE_CSS' imported but unused

    reviewbotreviewbot

    'PIPELINE_JS' imported but unused

    reviewbotreviewbot

    'django_reset' imported but unused

    reviewbotreviewbot

    'from settings_local import *' used; unable to detect undefined names

    reviewbotreviewbot

    'PIPELINE_CSS' imported but unused

    reviewbotreviewbot

    'PIPELINE_JS' imported but unused

    reviewbotreviewbot
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          reviewboard/accounts/avatars/tests.py
          reviewboard/accounts/avatars/registry.py
          reviewboard/admin/siteconfig.py
          reviewboard/accounts/avatars/services.py
          reviewboard/accounts/avatars/errors.py
          reviewboard/accounts/templatetags/avatars.py
      
      Ignored Files:
          reviewboard/accounts/avatars/__init__.py
          reviewboard/accounts/templatetags/__init__.py
          .gitignore
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          reviewboard/accounts/avatars/tests.py
          reviewboard/accounts/avatars/registry.py
          reviewboard/admin/siteconfig.py
          reviewboard/accounts/avatars/services.py
          reviewboard/accounts/avatars/errors.py
          reviewboard/accounts/templatetags/avatars.py
      
      Ignored Files:
          reviewboard/accounts/avatars/__init__.py
          reviewboard/accounts/templatetags/__init__.py
          .gitignore
      
      
    2. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 25
       E241 multiple spaces after ':'
      
    3. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 29
       E241 multiple spaces after ':'
      
    4. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 19
       E241 multiple spaces after ':'
      
    5. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    6. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 23
       E241 multiple spaces after ':'
      
    7. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    8. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    9. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    10. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    11. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    12. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    13. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    14. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 17
       E241 multiple spaces after ':'
      
    15. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    16. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    17. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    18. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    19. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    20. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 23
       E241 multiple spaces after ':'
      
    21. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    22. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues
      Col: 32
       E241 multiple spaces after ':'
      
    23. 
        
    david
    1. 
        
    2. Show all issues

      Should use ugettext_lazy

    3. Show all issues

      Docstring?

    4. Show all issues

      Since we render with a size specified, we should probably include width and height parameters in this tag.

      Also, can you double check that things are properly escaped when rendering this?

    5. Show all issues

      We should mark_safe this.

      1. Template.render returns a SafeText.

    6. reviewboard/admin/siteconfig.py (Diff revision 1)
       
       
      Show all issues

      I know it wasn't already, but can we alphabetize this list?

    7. 
        
    brennie
    david
    1. 
        
    2. reviewboard/admin/siteconfig.py (Diff revisions 1 - 2)
       
       
       
       
      Show all issues

      Perhaps we should rename these so they start with avatar_service so they all bunch together?

    3. 
        
    chipx86
    1. The directory structure's feeling a bit deep. I get that avatars relate to accounts, but they're not necessarily a part of an account. I can see, for instance, us enhancing this later to let us get an avatar for a remote service, like a GitHub account, without having a local account. Maybe.

      Anyway, room for debate here, but I feel like reviewboard.avatars is a fine namespace for this. Allows this to really be solely about avatars, without needing to be, like, a utility service of accounts (which the current directory structure implies).

      It also allows us to more easily break services.py up into services/base.py and services/gravatar.py. That'll be good down the road, in case we want to add some other built-in services (github.py, custom_url.py, or whatever).

    2. reviewboard/accounts/avatars/errors.py (Diff revision 2)
       
       
      Show all issues

      Let's go into a little more detail on this, at the very least saying "avatar services," but ideally clarifying what this means more.

    3. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
      Show all issues

      Swap these.

    4. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
       
      Show all issues

      Ordering is backwards.

    5. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
      Show all issues

      Similar comment to my other review. We should have a capital letter after the ":", since that's typically how errors will be represented (as another exception's message is often used as the "reason" for an error here).

      We also usually have a form more like:

      Could not register the avatar service %(item)s: This service is already registered.

      Also, this one is missing a trailing period.

    6. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
      Show all issues

      Blank line between these.

      1. Why?

      2. Most of our code follows that. Not all, but most. So primarily, consistency.

    7. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
      Show all issues

      A property should generally have the same type as both the getter and setter. In this case, we're using a set value of a list, and a get of a generator. I feel consistency is preferable here, particularly since we're never going to really have more than one or two services enabled here.

    8. Show all issues

      ~ before the class path?

    9. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
      Show all issues

      Localized?

    10. Show all issues

      Seeing a lot of inconsistency with the class paths in the docs. Some say reviewboard.accounts.avatars.services, some reviewboard.avatars.service, and some reviewboard.avatars.services.

    11. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
       
      Show all issues

      Might wrap better as:

      raise ItemLookupError(
          '...'
          % service)
      

      Same below.

      Also, these should be localized.

    12. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
       
      Show all issues

      I'm not sure it's clear what this really means, as written. Same below.

      Can we say what saving means, or maybe rewrite it if it's something like "Whether or not the list of enabled services should be saved to the database"? "Registry" isn't necessarily as clear.

    13. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
      Show all issues

      Sort of hitting a parse error with this sentence.

    14. Show all issues

      Not necessarily true. Maybe:

      Whether the registry of avatars was newly populated by this call. If ``False``, the registry was already populated by a previosu call.
      

      Also, do we use this anywhere? Might have missed it.

      1. If you want to override populate and call the super method, you have to check super(type(self), self).populate() to see if it is already populated; if it is, then we can exit early. See line 218.

    15. Show all issues

      We know we're saving below, so probably no need to do that here.

    16. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
       
      Show all issues

      Should pass the service ID as a parameter, rather than a format string.

    17. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
      Show all issues

      "set"/"unsetting" doesn't mean a lot outside of the internals of the registries, I don't think. Maybe we can reword this?

    18. reviewboard/accounts/avatars/registry.py (Diff revision 2)
       
       
       
       
       
      Show all issues

      This is an internal detail I'd really rather not expose. It's cheap to fetch the SiteConfiguration, since we cache it, so let's just do that here.

    19. Show all issues

      Since this is something that developers will be interacting with, this should go into a lot more detail on what this is responsible for, how it's used, and what's expected by an implementor.

    20. Show all issues

      This should go into more detail on what's expected and what's provided to the template.

    21. Show all issues

      How about "The user whose avatar URL will be retrieved."

    22. Show all issues

      Let's add "in pixels," and that this will be applied to both the width and the height.

    23. Show all issues

      "... to HTML."

      This should go into more detail about how it's rendered (using template), and that it can be overridden for custom behavior.

    24. reviewboard/accounts/avatars/services.py (Diff revision 2)
       
       
       
       
       
       
      Show all issues

      Let's cache these on the request, taking into account the user ID and size. This will give us a nice speed boost. We should also mention that in the docs.

    25. Show all issues

      Let's have this in its own file. Refer to my thoughts at the top about directory structure.

    26. reviewboard/accounts/templatetags/avatars.py (Diff revision 2)
       
       
       
       
      Show all issues

      Two blank lines.

    27. Show all issues

      This is kind of oddly written, and doesn't make it clear that service_id can impact this. This should be more explicit.

    28. Show all issues

      Let's pass the values as keyword arguments, in case we extend down the road.

    29. 
        
    chipx86
    1. Oh, also, I feel like this would be a great thing to have in Djblets, since avatars are a very generic concept.

    2. 
        
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          reviewboard/accounts/avatars/tests.py
          reviewboard/accounts/avatars/registry.py
          reviewboard/admin/siteconfig.py
          reviewboard/accounts/avatars/services.py
          reviewboard/accounts/avatars/errors.py
          reviewboard/accounts/templatetags/avatars.py
      
      Ignored Files:
          reviewboard/accounts/avatars/__init__.py
          reviewboard/accounts/templatetags/__init__.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          reviewboard/accounts/avatars/tests.py
          reviewboard/accounts/avatars/registry.py
          reviewboard/admin/siteconfig.py
          reviewboard/accounts/avatars/services.py
          reviewboard/accounts/avatars/errors.py
          reviewboard/accounts/templatetags/avatars.py
      
      Ignored Files:
          reviewboard/accounts/avatars/__init__.py
          reviewboard/accounts/templatetags/__init__.py
      
      
    2. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 23
       E241 multiple spaces after ':'
      
    3. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 25
       E241 multiple spaces after ':'
      
    4. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    5. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 23
       E241 multiple spaces after ':'
      
    6. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 19
       E241 multiple spaces after ':'
      
    7. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    8. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    9. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    10. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    11. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    12. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 29
       E241 multiple spaces after ':'
      
    13. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    14. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    15. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    16. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    17. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 32
       E241 multiple spaces after ':'
      
    18. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    19. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    20. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    21. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 17
       E241 multiple spaces after ':'
      
    22. reviewboard/admin/siteconfig.py (Diff revision 2)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    23. 
        
    brennie
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          reviewboard/admin/siteconfig.py
          reviewboard/avatars/__init__.py
          reviewboard/settings.py
          reviewboard/avatars/registry.py
          reviewboard/avatars/templatetags/avatars.py
          reviewboard/avatars/tests.py
      
      Ignored Files:
          reviewboard/avatars/templatetags/__init__.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          reviewboard/admin/siteconfig.py
          reviewboard/avatars/__init__.py
          reviewboard/settings.py
          reviewboard/avatars/registry.py
          reviewboard/avatars/templatetags/avatars.py
          reviewboard/avatars/tests.py
      
      Ignored Files:
          reviewboard/avatars/templatetags/__init__.py
      
      
    2. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    3. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 39
       E241 multiple spaces after ':'
      
    4. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 32
       E241 multiple spaces after ':'
      
    5. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 25
       E241 multiple spaces after ':'
      
    6. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    7. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 23
       E241 multiple spaces after ':'
      
    8. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 19
       E241 multiple spaces after ':'
      
    9. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    10. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    11. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    12. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    13. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    14. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 29
       E241 multiple spaces after ':'
      
    15. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    16. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    17. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    18. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    19. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    20. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 17
       E241 multiple spaces after ':'
      
    21. reviewboard/admin/siteconfig.py (Diff revision 3)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    22. reviewboard/settings.py (Diff revision 3)
       
       
      Show all issues
       'django_reset' imported but unused
      
    23. reviewboard/settings.py (Diff revision 3)
       
       
      Show all issues
       'from settings_local import *' used; unable to detect undefined names
      
    24. reviewboard/settings.py (Diff revision 3)
       
       
      Show all issues
       'PIPELINE_CSS' imported but unused
      
    25. reviewboard/settings.py (Diff revision 3)
       
       
      Show all issues
       'PIPELINE_JS' imported but unused
      
    26. 
        
    chipx86
    1. Typo in the description: "serach". That should probably just be its own trivial change, though.

    2. 
        
    chipx86
    1. 
        
    2. reviewboard/avatars/__init__.py (Diff revision 3)
       
       
       
       
      Show all issues

      Two blank lines.

    3. reviewboard/avatars/registry.py (Diff revision 3)
       
       
       
      Show all issues

      This needs more detail on what this does and how it works, for people not familiar with what we're doing.

    4. reviewboard/avatars/registry.py (Diff revision 3)
       
       
      Show all issues

      This shouldn't have to be called here. It's already managed by the middleware and app initialize stuff, and when setting new configuration for the site. This should be able to rely on the existing calls.

    5. reviewboard/avatars/tests.py (Diff revision 3)
       
       
      Show all issues

      This makes me nervous. Can we just set the things we need?

    6. 
        
    brennie
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          reviewboard/admin/siteconfig.py
          reviewboard/avatars/__init__.py
          reviewboard/settings.py
          reviewboard/avatars/registry.py
          reviewboard/avatars/templatetags/avatars.py
          reviewboard/avatars/tests.py
      
      Ignored Files:
          reviewboard/avatars/templatetags/__init__.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          reviewboard/admin/siteconfig.py
          reviewboard/avatars/__init__.py
          reviewboard/settings.py
          reviewboard/avatars/registry.py
          reviewboard/avatars/templatetags/avatars.py
          reviewboard/avatars/tests.py
      
      Ignored Files:
          reviewboard/avatars/templatetags/__init__.py
      
      
    2. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 23
       E241 multiple spaces after ':'
      
    3. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    4. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 24
       E241 multiple spaces after ':'
      
    5. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 25
       E241 multiple spaces after ':'
      
    6. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    7. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 23
       E241 multiple spaces after ':'
      
    8. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 19
       E241 multiple spaces after ':'
      
    9. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    10. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    11. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    12. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    13. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    14. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 29
       E241 multiple spaces after ':'
      
    15. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 30
       E241 multiple spaces after ':'
      
    16. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 31
       E241 multiple spaces after ':'
      
    17. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    18. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 26
       E241 multiple spaces after ':'
      
    19. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 28
       E241 multiple spaces after ':'
      
    20. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 17
       E241 multiple spaces after ':'
      
    21. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
      Show all issues
      Col: 22
       E241 multiple spaces after ':'
      
    22. reviewboard/settings.py (Diff revision 4)
       
       
      Show all issues
       'django_reset' imported but unused
      
    23. reviewboard/settings.py (Diff revision 4)
       
       
      Show all issues
       'from settings_local import *' used; unable to detect undefined names
      
    24. reviewboard/settings.py (Diff revision 4)
       
       
      Show all issues
       'PIPELINE_CSS' imported but unused
      
    25. reviewboard/settings.py (Diff revision 4)
       
       
      Show all issues
       'PIPELINE_JS' imported but unused
      
    26. 
        
    david
    1. 
        
    2. reviewboard/admin/siteconfig.py (Diff revision 4)
       
       
       
       
       
       
       
       
       
       
       
       
       
      Show all issues

      Things are misaligned here. Can we just shift this to be pep-8 style (even though it's not quite as pretty as aligned)?

    3. reviewboard/avatars/templatetags/avatars.py (Diff revision 4)
       
       
       
       
      Show all issues

      This should all fit on one line.

    4. 
        
    brennie
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          reviewboard/admin/siteconfig.py
          reviewboard/avatars/__init__.py
          reviewboard/settings.py
          reviewboard/avatars/registry.py
          reviewboard/avatars/templatetags/avatars.py
          reviewboard/avatars/tests.py
      
      Ignored Files:
          reviewboard/avatars/templatetags/__init__.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          reviewboard/admin/siteconfig.py
          reviewboard/avatars/__init__.py
          reviewboard/settings.py
          reviewboard/avatars/registry.py
          reviewboard/avatars/templatetags/avatars.py
          reviewboard/avatars/tests.py
      
      Ignored Files:
          reviewboard/avatars/templatetags/__init__.py
      
      
    2. reviewboard/settings.py (Diff revision 5)
       
       
      Show all issues
       'django_reset' imported but unused
      
    3. reviewboard/settings.py (Diff revision 5)
       
       
      Show all issues
       'from settings_local import *' used; unable to detect undefined names
      
    4. reviewboard/settings.py (Diff revision 5)
       
       
      Show all issues
       'PIPELINE_CSS' imported but unused
      
    5. reviewboard/settings.py (Diff revision 5)
       
       
      Show all issues
       'PIPELINE_JS' imported but unused
      
    6. 
        
    david
    1. Ship It!
    2. 
        
    brennie
    brennie
    brennie
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-2.6.x (4b9342b)