Convert URL patterns to lists.

Review Request #8723 — Created Feb. 7, 2017 and submitted

Information

Review Board
release-3.0.x
c2417de...

Reviewers

Django has deprecated the use of the old patterns() method, since they now
recommend that all URLs pass in the view directly rather than do string magic
to get the module path. This change moves us over to using plain lists of
url() entries, rather than a bunch of calls to patterns().

While I was doing this, I cleaned things up a bit with the regexes (such as
converting [0-9] to \d and [a-zA-Z0-9_] to \w), and changed it so we
only use raw strings where necessary.

Ran unit tests on Django 1.6 and 1.8.

Description From Last Updated

Instead of importing each view directly, I'm wondering about just importing views as appname_views (reviews_views, admin_views, etc.). Then we can …

chipx86chipx86

One blank line, for consistency with the above.

chipx86chipx86

I don't love having to mix these throughout the file, but I also never quite loved some of these being …

chipx86chipx86

Mind removing these blank lines before except while here?

chipx86chipx86

I'd prefer to keep the r prefix for all regexes. It makes it a lot easier to copy/paste/modify regexes without …

chipx86chipx86

Swap these.

chipx86chipx86

Col: 80 E501 line too long (81 > 79 characters)

reviewbotreviewbot

Col: 80 E501 line too long (80 > 79 characters)

reviewbotreviewbot

Col: 80 E501 line too long (81 > 79 characters)

reviewbotreviewbot

Col: 80 E501 line too long (81 > 79 characters)

reviewbotreviewbot

Col: 80 E501 line too long (81 > 79 characters)

reviewbotreviewbot

Col: 80 E501 line too long (80 > 79 characters)

reviewbotreviewbot
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
  2. 
      
chipx86
  1. 
      
  2. reviewboard/urls.py (Diff revision 1)
     
     
     
    Show all issues

    Instead of importing each view directly, I'm wondering about just importing views as appname_views (reviews_views, admin_views, etc.). Then we can reference the particular views as attributes instead of managing the import lists. I've seen this pattern with some other Django apps.

    What are your thoughts?

  3. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
  2. 
      
brennie
  1. Ship It!
  2. 
      
chipx86
  1. 
      
  2. reviewboard/datagrids/urls.py (Diff revision 2)
     
     
     
     
     
    Show all issues

    One blank line, for consistency with the above.

  3. reviewboard/hostingsvcs/beanstalk.py (Diff revision 2)
     
     
     
     
    Show all issues

    I don't love having to mix these throughout the file, but I also never quite loved some of these being top-level to begin with. Can we maybe introduce a BeanstalkHookViews class to contain this function and utility functions? Will also help with organization down the road when we add more hooks.

    Same would apply to the other services.

  4. reviewboard/hostingsvcs/beanstalk.py (Diff revision 2)
     
     
     
     
     
     
     
     
     
     
    Show all issues

    Mind removing these blank lines before except while here?

  5. reviewboard/reviews/urls.py (Diff revision 2)
     
     
    Show all issues

    I'd prefer to keep the r prefix for all regexes. It makes it a lot easier to copy/paste/modify regexes without unintentionally breaking things.

  6. reviewboard/scmtools/admin.py (Diff revision 2)
     
     
     
    Show all issues

    Swap these.

  7. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
  2. reviewboard/hostingsvcs/beanstalk.py (Diff revision 3)
     
     
    Show all issues
    Col: 80
     E501 line too long (81 > 79 characters)
    
  3. reviewboard/hostingsvcs/github.py (Diff revision 3)
     
     
    Show all issues
    Col: 80
     E501 line too long (80 > 79 characters)
    
  4. reviewboard/hostingsvcs/github.py (Diff revision 3)
     
     
    Show all issues
    Col: 80
     E501 line too long (81 > 79 characters)
    
  5. reviewboard/hostingsvcs/googlecode.py (Diff revision 3)
     
     
    Show all issues
    Col: 80
     E501 line too long (81 > 79 characters)
    
  6. reviewboard/hostingsvcs/googlecode.py (Diff revision 3)
     
     
    Show all issues
    Col: 80
     E501 line too long (81 > 79 characters)
    
  7. reviewboard/reviews/urls.py (Diff revision 3)
     
     
    Show all issues
    Col: 80
     E501 line too long (80 > 79 characters)
    
  8. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/scmtools/admin.py
        reviewboard/hostingsvcs/urls.py
        reviewboard/hostingsvcs/beanstalk.py
        reviewboard/accounts/urls.py
        reviewboard/reviews/urls.py
        reviewboard/hostingsvcs/bitbucket.py
        reviewboard/admin/urls.py
        reviewboard/urls.py
        reviewboard/hostingsvcs/service.py
        reviewboard/search/urls.py
        reviewboard/hostingsvcs/github.py
        reviewboard/hostingsvcs/googlecode.py
        reviewboard/hostingsvcs/tests/test_registration.py
        reviewboard/datagrids/urls.py
    
    
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:

Pushed to release-3.0.x (151c59d6b).