Allow users to download a PDF and XML representation of a review request

Review Request #6393 — Created Oct. 2, 2014 and submitted

Information

rb-extension-pack
master
36a11dc...

Reviewers

Allow users to download a review request as a PDF and XML(WIP) document.

For the sample mock documents, refer to the review request https://reviews.reviewboard.org/r/6413/

TODO:
Finish XML.

NOTE:
this depends on:
1. https://reviews.reviewboard.org/r/6633/
2. https://reviews.reviewboard.org/r/6620/

Issue Summary Section
1. No Issues
2. Open Issues
3. Open & Resolved Issues
4. Open & Dropped Issues
5. Dropped Issues

File Summary Section
1. No Files
2. Files only uploaded
3. Files uploaded and downloaded

Review Summary Section
1. Added/Removed content to description and testing done (Displayed as +/-)
3. Review with only body_top
4. Review with Comment and no replies
5. Review with Comment and replies
6. Issue Opened (Review displays "Issue Opened by 'name' ('status')")
7. Issue Resolved
8. Issue Dropped
9. Added Files (Specified in the ChangeDescription as a bulleted list)
10. Removed Files (Specified in the ChangeDescription as a bulleted list)
11. Comment of File Attachment
12. Added/Removed Bugs Closd (Displayed as +/-)
13. Added/Removed Branch (Displayed as +/-)
14. Added/Removed Target People (Displayed as bulleted list)
15. Modifed Summary (Displayed as +/-)

Description From Last Updated

The ampersand should be escaed. So should <, >, ', and "

brenniebrennie

XML tag names shouldn't contain a space. This should be something like <review-request>. Likewise below. Also, the special XML tag …

brenniebrennie

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

reviewbotreviewbot

Col: 17 E126 continuation line over-indented for hanging indent

reviewbotreviewbot

Col: 17 E128 continuation line under-indented for visual indent

reviewbotreviewbot

Col: 13 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

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

reviewbotreviewbot

Col: 5 E128 continuation line under-indented for visual indent

reviewbotreviewbot

So the url would be: ".../review_export/download_pdf_file/<review_request_id>" You might want to make the url shorter as long as it is clear …

NI nicolexin

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

reviewbotreviewbot

'render_to_response' imported but unused

reviewbotreviewbot

'RequestContext' imported but unused

reviewbotreviewbot

'ReviewRequest' imported but unused

reviewbotreviewbot

Col: 10 E261 at least two spaces before inline comment

reviewbotreviewbot

Col: 11 E262 inline comment should start with '# '

reviewbotreviewbot

Col: 13 E126 continuation line over-indented for hanging indent

reviewbotreviewbot

Col: 5 E265 block comment should start with '# '

reviewbotreviewbot

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

reviewbotreviewbot

Col: 20 E703 statement ends with a semicolon

reviewbotreviewbot

Col: 1 E302 expected 2 blank lines, found 1

reviewbotreviewbot

Col: 1 E302 expected 2 blank lines, found 1

reviewbotreviewbot

Col: 1 E265 block comment should start with '# '

reviewbotreviewbot

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

reviewbotreviewbot

Col: 45 E127 continuation line over-indented for visual indent

reviewbotreviewbot

Col: 13 E128 continuation line under-indented for visual indent

reviewbotreviewbot

Col: 5 E128 continuation line under-indented for visual indent

reviewbotreviewbot

Col: 9 E128 continuation line under-indented for visual indent

reviewbotreviewbot

Col: 6 E131 continuation line unaligned for hanging indent

reviewbotreviewbot

Col: 18 E131 continuation line unaligned for hanging indent

reviewbotreviewbot

There is a PEP that describes how docstrings should be written. I think RB follows that convention. The format is: …

AS asalahli

Col: 32 E226 missing whitespace around arithmetic operator

reviewbotreviewbot

Col: 27 E226 missing whitespace around arithmetic operator

reviewbotreviewbot

Col: 26 E226 missing whitespace around arithmetic operator

reviewbotreviewbot

Col: 40 E226 missing whitespace around arithmetic operator

reviewbotreviewbot

Col: 33 E226 missing whitespace around arithmetic operator

reviewbotreviewbot

'ReviewRequest' imported but unused

reviewbotreviewbot

You can break this into multiple lines without using backslash. Python implicitly concatenates multiple strings into one. description="Add file export …

AS asalahli

Hmm, this is not exactly what it does. How about: """Allows users to export a review request to XML/PDF.

chipx86chipx86

Are these URLs functional? I guess we never got around to adding support for url_name for action hooks. We really …

chipx86chipx86

This can be one statement.

chipx86chipx86

This is a Python Standard Library module, so it should go first. Also, this file is missing this from the …

chipx86chipx86

Same here.

chipx86chipx86

Should inherit from object.

chipx86chipx86

Col: 18 E241 multiple spaces after ':'

reviewbotreviewbot

Col: 16 E241 multiple spaces after ':'

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

You may want self.__dict__.copy(). I'm not sure what this is for though?

chipx86chipx86

While fine for debugging, printing to stdout will break sites in production.

chipx86chipx86

Should have URL names that are prefixed by the name of the extension.

chipx86chipx86

Imports are always in the following groups, from the point of view of the project you're editing: 1) Python standard …

chipx86chipx86

Should be consistent on double quotes vs. single quotes. Preferably use single quotes.

chipx86chipx86

"Review Requests" is kind of odd to capitalize. How about changing this summary to: "Add PDF and XML export functionality …

chipx86chipx86

Col: 18 E241 multiple spaces after ':'

reviewbotreviewbot

Col: 16 E241 multiple spaces after ':'

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 14 E126 continuation line over-indented for hanging indent

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 13 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 13 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 13 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

The first line of a docstring must be a complete sentence and it must be followed a blank line (or …

brenniebrennie

Add a period

brenniebrennie

Add a period.

brenniebrennie

The first line of a docstring must be a complete sentence and it must be followed by a blank line …

brenniebrennie

Add a period.

brenniebrennie

Remove this line

brenniebrennie

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Col: 9 E123 closing bracket does not match indentation of opening bracket's line

reviewbotreviewbot

Why not 'rr%d.pdf' % review_request_id ? Likewise for the XML case below.

brenniebrennie

This should be rr%s.xml

brenniebrennie

This should be application/xml or text/xml.

brenniebrennie

There should not be a blank line here.

justy777justy777

and here.

justy777justy777

and here.

justy777justy777

and here.

justy777justy777

and here.

justy777justy777

Did you mean to indent this? or should it be on the same level as the other functions?

justy777justy777

Like I mentioned in the XML review, the tag should not contain a space. Likewise below.

brenniebrennie

Why not "'": '&apos' so that you don't have to escape the single quote inside single quotes?

brenniebrennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/urls.py
        review_export/review_export/views.py
    
    Ignored Files:
        review_export/review_export/test.pdf
        review_export/review_export/__init__.py
        review_export/review_export/test.txt
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/urls.py
        review_export/review_export/views.py
    
    Ignored Files:
        review_export/review_export/test.pdf
        review_export/review_export/__init__.py
        review_export/review_export/test.txt
    
    
  2. Show all issues
    Col: 80
     E501 line too long (81 > 79 characters)
    
  3. Show all issues
    Col: 17
     E126 continuation line over-indented for hanging indent
    
  4. Show all issues
    Col: 17
     E128 continuation line under-indented for visual indent
    
  5. Show all issues
    Col: 13
     E123 closing bracket does not match indentation of opening bracket's line
    
  6. review_export/review_export/urls.py (Diff revision 1)
     
     
    Show all issues
    Col: 80
     E501 line too long (83 > 79 characters)
    
  7. review_export/review_export/urls.py (Diff revision 1)
     
     
    Show all issues
    Col: 5
     E128 continuation line under-indented for visual indent
    
  8. review_export/review_export/urls.py (Diff revision 1)
     
     
    Show all issues
    Col: 80
     E501 line too long (83 > 79 characters)
    
  9. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
     'render_to_response' imported but unused
    
  10. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
     'RequestContext' imported but unused
    
  11. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
     'ReviewRequest' imported but unused
    
  12. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 10
     E261 at least two spaces before inline comment
    
  13. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 11
     E262 inline comment should start with '# '
    
  14. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 13
     E126 continuation line over-indented for hanging indent
    
  15. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 5
     E265 block comment should start with '# '
    
  16. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 80
     E501 line too long (82 > 79 characters)
    
  17. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 20
     E703 statement ends with a semicolon
    
  18. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 1
     E302 expected 2 blank lines, found 1
    
  19. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 1
     E302 expected 2 blank lines, found 1
    
  20. review_export/review_export/views.py (Diff revision 1)
     
     
    Show all issues
    Col: 1
     E265 block comment should start with '# '
    
  21. review_export/setup.py (Diff revision 1)
     
     
    Show all issues
    Col: 80
     E501 line too long (80 > 79 characters)
    
  22. 
      
NI
  1. 
      
  2. review_export/review_export/urls.py (Diff revision 1)
     
     
     
    Show all issues

    So the url would be: ".../review_export/download_pdf_file/<review_request_id>"
    You might want to make the url shorter as long as it is clear and umambiguous. (i.e. ".../review_export/pdf/..." since we already know it is about review export)
    Just my suggestions though

  3. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/urls.py
        review_export/review_export/views.py
    
    Ignored Files:
        review_export/review_export/test.pdf
        review_export/review_export/__init__.py
        review_export/review_export/test.txt
    
    
  2. Show all issues
    Col: 45
     E127 continuation line over-indented for visual indent
    
  3. Show all issues
    Col: 13
     E128 continuation line under-indented for visual indent
    
  4. review_export/review_export/urls.py (Diff revision 2)
     
     
    Show all issues
    Col: 5
     E128 continuation line under-indented for visual indent
    
  5. review_export/review_export/views.py (Diff revision 2)
     
     
    Show all issues
    Col: 9
     E128 continuation line under-indented for visual indent
    
  6. review_export/setup.py (Diff revision 2)
     
     
    Show all issues
    Col: 6
     E131 continuation line unaligned for hanging indent
    
  7. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/urls.py
        review_export/review_export/views.py
    
    Ignored Files:
        review_export/review_export/test.pdf
        review_export/review_export/__init__.py
        review_export/review_export/test.txt
    
    
  2. review_export/setup.py (Diff revision 3)
     
     
    Show all issues
    Col: 18
     E131 continuation line unaligned for hanging indent
    
  3. 
      
ML
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. review_export/review_export/printer.py (Diff revision 4)
     
     
    Show all issues
    Col: 32
     E226 missing whitespace around arithmetic operator
    
  3. review_export/review_export/printer.py (Diff revision 4)
     
     
    Show all issues
    Col: 27
     E226 missing whitespace around arithmetic operator
    
  4. review_export/review_export/printer.py (Diff revision 4)
     
     
    Show all issues
    Col: 26
     E226 missing whitespace around arithmetic operator
    
  5. review_export/review_export/printer.py (Diff revision 4)
     
     
    Show all issues
    Col: 40
     E226 missing whitespace around arithmetic operator
    
  6. review_export/review_export/printer.py (Diff revision 4)
     
     
    Show all issues
    Col: 33
     E226 missing whitespace around arithmetic operator
    
  7. review_export/review_export/views.py (Diff revision 4)
     
     
    Show all issues
     'ReviewRequest' imported but unused
    
  8. 
      
AS
  1. 
      
  2. review_export/review_export/extension.py (Diff revision 4)
     
     
     
     
     
    Show all issues

    There is a PEP that describes how docstrings should be written. I think RB follows that convention.

    The format is:

    """One line summary
    
    Long explanation, that can possible
    span multiple lines.
    """
    

    or:

    """One line summary"""
    

    Here is a link to PEP 257: http://legacy.python.org/dev/peps/pep-0257/

  3. 
      
AS
  1. 
      
  2. review_export/setup.py (Diff revision 4)
     
     
     
    Show all issues

    You can break this into multiple lines without using backslash. Python implicitly concatenates multiple strings into one.

    description="Add file export functionality to Review Board Review "
                "Requests",
    
  3. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. review_export/review_export/printer.py (Diff revision 5)
     
     
    Show all issues
    Col: 18
     E241 multiple spaces after ':'
    
  3. review_export/review_export/printer.py (Diff revision 5)
     
     
    Show all issues
    Col: 16
     E241 multiple spaces after ':'
    
  4. review_export/review_export/printer.py (Diff revision 5)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  5. 
      
chipx86
  1. 
      
  2. Show all issues

    Hmm, this is not exactly what it does. How about:

    """Allows users to export a review request to XML/PDF.
    
  3. Show all issues

    Are these URLs functional?

    I guess we never got around to adding support for url_name for action hooks. We really should. Wouldn't be too hard.

    Basically, URLs should almost never be hard-coded (unless pointing to an external site). Instead, we use URL names (which allow for referencing a URL without knowing or caring about the actual path). However, that support never got added here.

    This wouldn't be hard to add to Review Board. Feel up to working on that as well? We can help out with what's needed.

    1. They are functional in the sense that the server registers them but they don't do the proper thing yet because I haven't looked into how to assign a review_request_id to the anchor tags when the review is opened.

      Ya, I remember smacleod and m_conley wondering about that too when I was asking them about the urls.. so sure I can do that. I want to at least get the PDF generation finished before though.

  4. review_export/review_export/extension.py (Diff revision 5)
     
     
     
     
     
     
    Show all issues

    This can be one statement.

  5. review_export/review_export/printer.py (Diff revision 5)
     
     
    Show all issues

    This is a Python Standard Library module, so it should go first.

    Also, this file is missing this from the top of this file and others:

    from __future__ import unicode_literals
    
  6. review_export/review_export/printer.py (Diff revision 5)
     
     
    Show all issues

    Same here.

  7. review_export/review_export/printer.py (Diff revision 5)
     
     
    Show all issues

    Should inherit from object.

  8. review_export/review_export/printer.py (Diff revision 5)
     
     
    Show all issues

    You may want self.__dict__.copy(). I'm not sure what this is for though?

    1. i believe they are the same because I am creating a new dict and passing it a dict to copy by value. But I can switch it if you want. it saves the state of the current page and starts anew. i don't explicitly call the showPage function but I believe it is actually called during the document build process

  9. review_export/review_export/printer.py (Diff revision 5)
     
     
     
    Show all issues

    While fine for debugging, printing to stdout will break sites in production.

  10. review_export/review_export/urls.py (Diff revision 5)
     
     
     
    Show all issues

    Should have URL names that are prefixed by the name of the extension.

    1. unless if i am mistaken but I added the 'review_export' prefix in the setup.py file so it shouldn't need it here....but it might make more sense to have it pre-pended in this file because this does show the urls....but i'm not sure once the url naming is implemented.

  11. review_export/review_export/views.py (Diff revision 5)
     
     
     
     
     
     
    Show all issues

    Imports are always in the following groups, from the point of view of the project you're editing:

    1) Python standard library imports

    2) Third-party imports ("reviewboard" counts from the point of view of this module).

    3) Project imports

    There's a blank line separating each.

  12. review_export/setup.py (Diff revision 5)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    Show all issues

    Should be consistent on double quotes vs. single quotes. Preferably use single quotes.

  13. review_export/setup.py (Diff revision 5)
     
     
     
    Show all issues

    "Review Requests" is kind of odd to capitalize. How about changing this summary to:

    "Add PDF and XML export functionality to Review Board."
    
  14. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. review_export/review_export/printer.py (Diff revision 6)
     
     
    Show all issues
    Col: 18
     E241 multiple spaces after ':'
    
  3. review_export/review_export/printer.py (Diff revision 6)
     
     
    Show all issues
    Col: 16
     E241 multiple spaces after ':'
    
  4. review_export/review_export/printer.py (Diff revision 6)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  5. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. review_export/review_export/printer.py (Diff revision 7)
     
     
    Show all issues
    Col: 14
     E126 continuation line over-indented for hanging indent
    
  3. 
      
ML
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. review_export/review_export/printer.py (Diff revision 8)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  3. review_export/review_export/printer.py (Diff revision 8)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  4. 
      
ML
ML
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/extension.py
        review_export/review_export/views.py
        review_export/setup.py
        review_export/review_export/printer.py
        review_export/review_export/urls.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. review_export/review_export/printer.py (Diff revision 9)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  3. review_export/review_export/printer.py (Diff revision 9)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  4. review_export/review_export/printer.py (Diff revision 9)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  5. review_export/review_export/printer.py (Diff revision 9)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  6. review_export/review_export/printer.py (Diff revision 9)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  7. review_export/review_export/printer.py (Diff revision 9)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  8. review_export/review_export/printer.py (Diff revision 9)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  9. 
      
ML
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. Show all issues
    Col: 13
     E123 closing bracket does not match indentation of opening bracket's line
    
  3. review_export/review_export/printer.py (Diff revision 10)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  4. review_export/review_export/printer.py (Diff revision 10)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  5. review_export/review_export/printer.py (Diff revision 10)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  6. review_export/review_export/printer.py (Diff revision 10)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  7. review_export/review_export/printer.py (Diff revision 10)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  8. review_export/review_export/printer.py (Diff revision 10)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  9. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. Show all issues
    Col: 13
     E123 closing bracket does not match indentation of opening bracket's line
    
  3. review_export/review_export/printer.py (Diff revision 11)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  4. review_export/review_export/printer.py (Diff revision 11)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  5. review_export/review_export/printer.py (Diff revision 11)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  6. review_export/review_export/printer.py (Diff revision 11)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  7. review_export/review_export/printer.py (Diff revision 11)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  8. review_export/review_export/printer.py (Diff revision 11)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  9. 
      
ML
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. Show all issues
    Col: 13
     E123 closing bracket does not match indentation of opening bracket's line
    
  3. review_export/review_export/printer.py (Diff revision 12)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  4. review_export/review_export/printer.py (Diff revision 12)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  5. review_export/review_export/printer.py (Diff revision 12)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  6. review_export/review_export/printer.py (Diff revision 12)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  7. review_export/review_export/printer.py (Diff revision 12)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  8. review_export/review_export/printer.py (Diff revision 12)
     
     
    Show all issues
    Col: 9
     E123 closing bracket does not match indentation of opening bracket's line
    
  9. 
      
brennie
  1. 
      
  2. Show all issues

    The first line of a docstring must be a complete sentence and it must be followed a blank line (or the end of the docstring).

  3. Show all issues

    Add a period

  4. Show all issues

    Add a period.

  5. Show all issues

    The first line of a docstring must be a complete sentence and it must be followed by a blank line (or the end of the docstring).

  6. review_export/review_export/extension.py (Diff revision 12)
     
     
    Show all issues

    Add a period.

  7. review_export/review_export/printer.py (Diff revision 12)
     
     
    Show all issues

    Remove this line

  8. review_export/review_export/views.py (Diff revision 12)
     
     
    Show all issues

    Why not 'rr%d.pdf' % review_request_id ? Likewise for the XML case below.

    1. Since review_request_id is parsed form the URL, it is not actually an integer. It is unicode....but the str() is not needed

  9. review_export/review_export/views.py (Diff revision 12)
     
     
    Show all issues

    This should be rr%s.xml

  10. review_export/review_export/views.py (Diff revision 12)
     
     
    Show all issues

    This should be application/xml or text/xml.

  11. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. 
      
ML
ML
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. 
      
ML
  1. The dropdown actions don't query the server. When hovering over the links they show the correct url (review_export/pdf/6393) but the links don't do anything when clicked.

  2. 
      
brennie
  1. 
      
  2. XML (Revision 1)
    19
    		3. Open & Resolved Issues
    Show all issues

    The ampersand should be escaed. So should <, >, ', and "

  3. XML (Revision 1)
    1
    <Review Request id=1>
    Show all issues

    XML tag names shouldn't contain a space. This should be something like <review-request>. Likewise below.

    Also, the special XML tag should be specified:

    <?xml version="1.0" encoding="UTF-8"?>
    

    (assuming it is encoded with UTF-8)

  4. 
      
justy777
  1. 
      
  2. Show all issues

    There should not be a blank line here.

  3. Show all issues

    and here.

  4. Show all issues

    and here.

  5. Show all issues

    and here.

  6. Show all issues

    and here.

  7. review_export/review_export/printer.py (Diff revision 14)
     
     
    Show all issues

    Did you mean to indent this? or should it be on the same level as the other functions?

    1. yes i meant to indent that. it is because that procedure is a helper method for the purpose of the method 'print_issue_summary'

  8. 
      
brennie
  1. 
      
  2. review_export/review_export/printer.py (Diff revision 14)
     
     
    Show all issues

    Like I mentioned in the XML review, the tag should not contain a space. Likewise below.

  3. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. 
      
brennie
  1. 
      
  2. review_export/review_export/printer.py (Diff revision 15)
     
     
    Show all issues

    Why not "'": '&apos' so that you don't have to escape the single quote inside single quotes?

    1. I had that originally but then went with ' for consistency but i think you're right....escaping always looks weird and can be confusing.

  3. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. 
      
ML
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. 
      
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/hooks.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/hooks.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. 
      
ML
ML
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/hooks.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
    
    Tool: Pyflakes
    Processed Files:
        review_export/review_export/data_extractor.py
        review_export/review_export/views.py
        review_export/review_export/urls.py
        review_export/review_export/hooks.py
        review_export/review_export/extension.py
        review_export/setup.py
        review_export/review_export/printer.py
    
    Ignored Files:
        review_export/review_export/rblogo.png
        review_export/review_export/__init__.py
        review_export/review_export/rblogo.jpg
    
    
  2. 
      
ML
ML
ML
Review request changed
Status:
Completed
Change Summary:
Pushed to ucosp/mloyzer/review-export (462d264)