Add API for fetching and setting diff file attachments.

Review Request #4647 — Created Sept. 25, 2013 and discarded

chipx86
Review Board
master
reviewboard

Add API for fetching and setting diff file attachments.

There's now a /api/repositories/<id>/diff-file-attachments/ resource
that contains the known, registered diff file attachments tied to a
repository. Nothing on this tree can be modified, only retrieved.

In the future, some file attachments will be automatically associated.
Those that cannot can be modified by issuing a PUT on a draft filediff
resource and passing a file for the file attachment representing the
destination/modified file. Right now, this is allowed for all filediffs
for binary files, but later it will be restricted.

Unit tests pass.

Description From Last Updated

testing

VE venkuvenkius

'FileDiff' imported but unused

reviewbotreviewbot

Using .exists() will be faster and less code.

daviddavid

local variable 'attachment' is assigned to but never used

reviewbotreviewbot

'INVALID_FORM_DATA' imported but unused

reviewbotreviewbot

'scmtools' imported but unused

reviewbotreviewbot

'FileAttachment' imported but unused

reviewbotreviewbot

'DiffSet' imported but unused

reviewbotreviewbot

'FileDiff' imported but unused

reviewbotreviewbot

'FileDiff' imported but unused

reviewbotreviewbot

undefined name 'filediff'

reviewbotreviewbot
reviewbot
  1. This is a review from Review Bot.
    Tool: PEP8 Style Checker
    Processed Files:
    reviewboard/testing/testcase.py
    reviewboard/webapi/tests/urls.py
    reviewboard/webapi/resources/init.py
    reviewboard/attachments/forms.py
    reviewboard/attachments/managers.py
    reviewboard/webapi/resources/filediff.py
    reviewboard/webapi/tests/base.py
    reviewboard/webapi/tests/test_diff_file_attachment.py
    reviewboard/webapi/tests/test_draft_filediff.py
    reviewboard/webapi/resources/diff_file_attachment.py
    reviewboard/webapi/tests/mimetypes.py
    reviewboard/webapi/resources/draft_filediff.py
    reviewboard/webapi/resources/repository.py
    Ignored Files:
    docs/manual/webapi/2.0/resources/index.txt
    docs/manual/webapi/2.0/resources/diff-file-attachment.txt
    docs/manual/fixtures/initial_data.json
    docs/manual/webapi/2.0/resources/diff-file-attachment-list.txt

  2. 
      
reviewbot
  1. This is a review from Review Bot.
    Tool: Pyflakes
    Processed Files:
    reviewboard/testing/testcase.py
    reviewboard/webapi/tests/urls.py
    reviewboard/webapi/resources/init.py
    reviewboard/attachments/forms.py
    reviewboard/attachments/managers.py
    reviewboard/webapi/resources/filediff.py
    reviewboard/webapi/tests/base.py
    reviewboard/webapi/tests/test_diff_file_attachment.py
    reviewboard/webapi/tests/test_draft_filediff.py
    reviewboard/webapi/resources/diff_file_attachment.py
    reviewboard/webapi/tests/mimetypes.py
    reviewboard/webapi/resources/draft_filediff.py
    reviewboard/webapi/resources/repository.py
    Ignored Files:
    docs/manual/webapi/2.0/resources/index.txt
    docs/manual/webapi/2.0/resources/diff-file-attachment.txt
    docs/manual/fixtures/initial_data.json
    docs/manual/webapi/2.0/resources/diff-file-attachment-list.txt

  2. 'FileDiff' imported but unused

  3. local variable 'attachment' is assigned to but never used

  4. 'INVALID_FORM_DATA' imported but unused

  5. 'scmtools' imported but unused

  6. 'FileAttachment' imported but unused

  7. 'DiffSet' imported but unused

  8. 'FileDiff' imported but unused

  9. 'FileDiff' imported but unused

  10. reviewboard/webapi/tests/urls.py (Diff revision 1)
     
     

    undefined name 'filediff'

  11. 
      
david
  1. 
      
  2. reviewboard/webapi/resources/draft_filediff.py (Diff revision 1)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Using .exists() will be faster and less code.

    1. get_for_filediff doesn't return a QuerySet. It's a get() call, so I can't take advantage of exists() without creating another method just for checking.

    2. OK.

  3. 
      
VE
  1. 
      
  2. reviewboard/attachments/managers.py (Diff revision 1)
     
     

    testing

    1. This is a production server, and by doing your test here, you just spammed a bunch of people.

      If you want to test, you can use demo.reviewboard.org (username 'guest' password 'guest')

  3. 
      
chipx86
Review request changed

Status: Discarded

Change Summary:

Replaced by /r/4860/
Loading...