-
-
-
reviewboard/settings.py (Diff revision 1) 'from settings_local import *' used; unable to detect undefined names
-
-
Add integration model and manager for third-party services framework
Review Request #6918 — Created Feb. 7, 2015 and discarded
Information | |
---|---|
xuanyi | |
Review Board | |
master | |
7221, 7105, 7136, 7106, 7034, 7033 | |
Reviewers | |
reviewboard, students | |
This provides the integration base class, database model and manager for extensions to implement and register integrations.
Compared to the extension framework, these integration model will provide a way for users, such as local site administrator, to manage their own individiual integration. Third-party services will need to subclass the integration base class to provide the initialize and shutdown method for their services.
With the database model, multiple instances of the integration's configuration could be supported, and thus providing multiple configurations of the integration for a single web server.
All these configured integration will then be managed through the integration manager.
Added unit test for the integrations.
- Test manager on creating, deleting, toggling of configured integration.
- Test manager on handling of invalid configured integration.
Mannual testing with a dummy integration.
Unit tests pass.
Description | From | Last Updated |
---|---|---|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
"Allows extensions to register and unregister service integrations." |
|
|
Two blank lines are needed here. |
|
|
Must be inserted in alphabetical order. |
|
|
When the imports can fit on one line, they should be on one line without parens. However, instead of importing … |
|
|
"registration" |
|
|
"unregistration" |
|
|
We don't want to introduce any new fixtures into the codebase. Instead, create the objects as you need them. See … |
|
|
Each of these should be documented, using this form: #: Single line comment myvar1 = ... #: Single-line summary #: … |
|
|
Blank line between these. |
|
|
Why is there a separate initialize method? Why can't subclass initialization be done in __init__? |
|
|
"URL" |
|
|
Two blank lines between these. |
|
|
No blank line here. |
|
|
"Return" instead of "Get". |
|
|
"Returns" instead of "Retrieves", "ID" instead of "id", and a period is needed. |
|
|
No blank line here. |
|
|
Blank line after class docstrings. |
|
|
Private functions should always come after all the public functions. |
|
|
This can be combined into one statement. |
|
|
Should use pk instead of id for model instances. |
|
|
How about just: "This configuration is already registered." |
|
|
"ID" |
|
|
This needs to not break loading the rest of the integrations. If an extension has been disabled, the ConfiguredIntegrations will … |
|
|
Missing a period. |
|
|
This would be better as: try: del self._config_instances[config_instance.pl] except KeyError: raise ... Also, note pk instead of id for model … |
|
|
Missing a trailing period. |
|
|
Trailing period. |
|
|
Change the get to a filter, to save an SQL query. This way, we don't have to fetch the entire … |
|
|
Trailing period. |
|
|
Trailing period. |
|
|
Trailing period. |
|
|
Trailing period. |
|
|
Trailing period. |
|
|
Trailing period. |
|
|
Should use six.itervalues(...) instead of calling values() on the dictionary. |
|
|
Trailing period. |
|
|
Needs a docstring. |
|
|
Must be in alphabetical order. |
|
|
Needs a docstring. |
|
|
Needs a docstring. This should use @cached_property instead of doing the hasattr trick. Search the codebase for the proper import … |
|
|
"has" access. |
|
|
Must be a single line. How about: "Return whether the user can modify this configuration." |
|
|
This needs to return something. |
|
|
Must be in alphabetical order. |
|
|
Trailing period. |
|
|
Multi-line unit test docstrings must be in this form: """First line second line. """ |
|
|
No blank line here. |
|
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
Col: 13 E123 closing bracket does not match indentation of opening bracket's line |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'reviewboard' imported but unused |
![]() |
|
Col: 1 E302 expected 2 blank lines, found 1 |
![]() |
|
Col: 5 E303 too many blank lines (2) |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'reviewboard' imported but unused |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'reviewboard' imported but unused |
![]() |
|
This shouldn't be set here. Rather, Integrations should accept an extension in the constructor, but only if that specific integration … |
|
|
Each comment before an attribute should be in this form: #: Summary #: #: ... Note the #:. That will … |
|
|
Should be allow_local_sites. |
|
|
How about config_form? |
|
|
Instead of using join, we should just use a format string. |
|
|
"integration" |
|
|
"toggled" |
|
|
"Subclasses" ".. to shut down the integration and ..." |
|
|
"... to be toggled ..." |
|
|
No need for the None parameter. That's the default. |
|
|
I don't think we should have a load method, and we certainly shouldn't call it when initializing Review Board. It … |
|
|
Combine these conditionals. |
|
|
This is pretty redundant. We should have one or the other. |
|
|
"integration" |
|
|
This can be one statement. |
|
|
Swap these (alphabetical order). |
|
|
""" on the next line. |
|
|
Here too. Same below. |
|
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
"Create" |
|
|
'reviewboard' imported but unused |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'get_integration_manager' imported but unused |
![]() |
|
'reviewboard' imported but unused |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |
|
Imports should come in alphabetical order. |
|
|
Should be in the imperative mood ("Wrap a callback ...") |
|
|
exc_info should be True, rather than 1 (we have 1 a bunch of other places, but I'm slowly cleaning those … |
|
|
This should use the same terminology as you changed above ("registration" rather than "initializing") |
|
|
This should use the same terminology as you changed above ("registration" rather than "initializing") |
|
|
Should be in the imperative mood ("Shut down...") |
|
|
Should be in the imperative mood ("Return the...") |
|
|
Should be in the imperative mood ("Return the...") |
|
|
Should be in the imperative mood ("Return the...") |
|
|
The logging methods will do a format operation internally, so you can pass in config_id as a parameter rather than … |
|
|
Should be in the imperative mood ("Return all...") |
|
|
Should be in the imperative mood ("Return the...") |
|
|
Should be in the imperative mood ("Return the...") |
|
|
Should be in the imperative mood ("Return...") |
|
|
Should be in the imperative mood ("Return...") |
|
|
'django_reset' imported but unused |
![]() |
|
'from settings_local import *' used; unable to detect undefined names |
![]() |
|
'PIPELINE_CSS' imported but unused |
![]() |
|
'PIPELINE_JS' imported but unused |
![]() |

Description: |
|
---|
Summary: |
|
|||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
|||||||||||||||||||||||||||||||||||||||||||||
Testing Done: |
|
|||||||||||||||||||||||||||||||||||||||||||||
Commit: |
|
|||||||||||||||||||||||||||||||||||||||||||||
Diff: |
Revision 2 (+428 -1) |

-
Tool: Pyflakes Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/fixtures/test_configs.json reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/fixtures/test_configs.json reviewboard/integrations/__init__.py
-
-
reviewboard/settings.py (Diff revision 2) 'from settings_local import *' used; unable to detect undefined names
-
-
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 3 (+428 -1) |

-
Tool: Pyflakes Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/fixtures/test_configs.json reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/fixtures/test_configs.json reviewboard/integrations/__init__.py
-
-
reviewboard/settings.py (Diff revision 3) 'from settings_local import *' used; unable to detect undefined names
-
-
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 4 (+427 -1) |

-
Tool: Pyflakes Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/fixtures/test_configs.json reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/fixtures/test_configs.json reviewboard/integrations/__init__.py
-
-
reviewboard/settings.py (Diff revision 4) 'from settings_local import *' used; unable to detect undefined names
-
-
-
-
reviewboard/extensions/hooks.py (Diff revision 4) "Allows extensions to register and unregister service integrations."
-
-
-
reviewboard/extensions/tests.py (Diff revision 4) When the imports can fit on one line, they should be on one line without parens.
However, instead of importing
_integrations
, we should import a function that can return an integration with the given ID. -
-
-
reviewboard/integrations/fixtures/test_configs.json (Diff revision 4) We don't want to introduce any new fixtures into the codebase. Instead, create the objects as you need them.
See
reviewboard/testing/testcase.py
. -
reviewboard/integrations/integration.py (Diff revision 4) Each of these should be documented, using this form:
#: Single line comment myvar1 = ... #: Single-line summary #: #: Description that spans #: multiple lines. myvar2 = ...
-
-
-
-
-
reviewboard/integrations/integration.py (Diff revision 4) "Returns" instead of "Retrieves", "ID" instead of "id", and a period is needed.
-
-
-
reviewboard/integrations/manager.py (Diff revision 4) Private functions should always come after all the public functions.
-
-
reviewboard/integrations/manager.py (Diff revision 4) Should use
pk
instead ofid
for model instances. -
reviewboard/integrations/manager.py (Diff revision 4) How about just: "This configuration is already registered."
-
-
reviewboard/integrations/manager.py (Diff revision 4) This needs to not break loading the rest of the integrations. If an extension has been disabled, the ConfiguredIntegrations will still be in the database, which is completely valid.
What I'd suggest is not erroring out if the integration is not registered. Instead, silently skip it.
-
-
reviewboard/integrations/manager.py (Diff revision 4) This would be better as:
try: del self._config_instances[config_instance.pl] except KeyError: raise ...
Also, note
pk
instead ofid
for model instances.I'd change the test like I suggested above.
-
-
-
reviewboard/integrations/manager.py (Diff revision 4) Change the
get
to afilter
, to save an SQL query. This way, we don't have to fetch the entire object before deleting it. -
-
-
-
-
-
-
reviewboard/integrations/manager.py (Diff revision 4) Should use
six.itervalues(...)
instead of callingvalues()
on the dictionary. -
-
-
-
-
reviewboard/integrations/models.py (Diff revision 4) Needs a docstring.
This should use
@cached_property
instead of doing thehasattr
trick. Search the codebase for the proper import statement. -
-
reviewboard/integrations/models.py (Diff revision 4) Must be a single line. How about:
"Return whether the user can modify this configuration."
-
-
-
-
reviewboard/integrations/tests.py (Diff revision 4) Multi-line unit test docstrings must be in this form:
"""First line second line. """
-
-
-
reviewboard/integrations/integration.py (Diff revision 4) Why is there a separate
initialize
method? Why can't subclass initialization be done in__init__
? -
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 5 (+461 -2) |

-
Tool: Pyflakes Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
reviewboard/integrations/tests.py (Diff revision 5) Col: 13 E123 closing bracket does not match indentation of opening bracket's line
-
-
reviewboard/settings.py (Diff revision 5) 'from settings_local import *' used; unable to detect undefined names
-
-
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 6 (+460 -2) |

-
Tool: Pyflakes Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
reviewboard/settings.py (Diff revision 6) 'from settings_local import *' used; unable to detect undefined names
-
-
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 7 (+478 -2) |

-
Tool: Pyflakes Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
-
-
-
reviewboard/settings.py (Diff revision 7) 'from settings_local import *' used; unable to detect undefined names
-
-
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 8 (+478 -2) |

-
Tool: PEP8 Style Checker Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: Pyflakes Processed Files: reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
-
reviewboard/settings.py (Diff revision 8) 'from settings_local import *' used; unable to detect undefined names
-
-
Description: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Commit: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diff: |
Revision 9 (+507 -2) |

-
Tool: PEP8 Style Checker Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: Pyflakes Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
-
reviewboard/settings.py (Diff revision 9) 'from settings_local import *' used; unable to detect undefined names
-
-
-
General note: The Description is the wrong place for the updates. Those belong in the draft banner at the top when posting a new change. The Description should be a commit-ready, full description of this change, useful for anyone to understand what this commit provides without knowing the rest of the work going on.
-
-
reviewboard/extensions/hooks.py (Diff revision 9) This shouldn't be set here. Rather, Integrations should accept an extension in the constructor, but only if that specific integration needs to.
-
reviewboard/integrations/integration.py (Diff revision 9) Each comment before an attribute should be in this form:
#: Summary #: #: ...
Note the
#:
. That will let Sphinx (our docs generator) use the comments as documentation. -
-
-
reviewboard/integrations/integration.py (Diff revision 9) Instead of using
join
, we should just use a format string. -
-
-
reviewboard/integrations/integration.py (Diff revision 9) "Subclasses"
".. to shut down the integration and ..."
-
-
reviewboard/integrations/integration.py (Diff revision 9) No need for the
None
parameter. That's the default. -
reviewboard/integrations/manager.py (Diff revision 9) I don't think we should have a
load
method, and we certainly shouldn't call it when initializing Review Board. It means an extra database query and setup work every timeinitialize
is called, which happens often enough.Instead, how about fetching integrations the first time they're needed for an Integration. That way, we don't have a database query unconditionally for all installs, but rather, only if there are integrations configured.
-
-
reviewboard/integrations/manager.py (Diff revision 9) This is pretty redundant. We should have one or the other.
-
-
-
-
-
-
Description: |
|
---|
Change Summary:
Fix review issues
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 10 (+562 -2) |

-
Tool: Pyflakes Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
-
reviewboard/settings.py (Diff revision 10) 'from settings_local import *' used; unable to detect undefined names
-
-

-
Tool: PEP8 Style Checker Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
Testing Done: |
|
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Commit: |
|
||||||||||||
Diff: |
Revision 11 (+554 -2) |

-
Tool: Pyflakes Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/__init__.py reviewboard/accounts/backends.py reviewboard/integrations/models.py reviewboard/extensions/hooks.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
-
-
reviewboard/settings.py (Diff revision 11) 'from settings_local import *' used; unable to detect undefined names
-
-
Testing Done: |
|
|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Commit: |
|
|||||||||||||||||||||||||||
Diff: |
Revision 12 (+553 -2) |

-
Tool: Pyflakes Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/accounts/backends.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/accounts/backends.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
reviewboard/settings.py (Diff revision 12) 'from settings_local import *' used; unable to detect undefined names
-
-
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 13 (+556 -2) |

-
Tool: Pyflakes Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/accounts/backends.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py Tool: PEP8 Style Checker Processed Files: reviewboard/testing/testcase.py reviewboard/settings.py reviewboard/extensions/tests.py reviewboard/accounts/backends.py reviewboard/extensions/hooks.py reviewboard/integrations/models.py reviewboard/integrations/manager.py reviewboard/integrations/tests.py reviewboard/integrations/integration.py Ignored Files: reviewboard/integrations/__init__.py
-
-
reviewboard/settings.py (Diff revision 13) 'from settings_local import *' used; unable to detect undefined names
-
-
-
-
-
reviewboard/extensions/hooks.py (Diff revision 13) Should be in the imperative mood ("Wrap a callback ...")
-
reviewboard/extensions/hooks.py (Diff revision 13) exc_info
should beTrue
, rather than1
(we have 1 a bunch of other places, but I'm slowly cleaning those up). -
reviewboard/extensions/tests.py (Diff revision 13) This should use the same terminology as you changed above ("registration" rather than "initializing")
-
reviewboard/extensions/tests.py (Diff revision 13) This should use the same terminology as you changed above ("registration" rather than "initializing")
-
reviewboard/integrations/integration.py (Diff revision 13) Should be in the imperative mood ("Shut down...")
-
reviewboard/integrations/integration.py (Diff revision 13) Should be in the imperative mood ("Return the...")
-
reviewboard/integrations/integration.py (Diff revision 13) Should be in the imperative mood ("Return the...")
-
reviewboard/integrations/integration.py (Diff revision 13) Should be in the imperative mood ("Return the...")
-
reviewboard/integrations/manager.py (Diff revision 13) The logging methods will do a format operation internally, so you can pass in
config_id
as a parameter rather than formatting it yourself. -
reviewboard/integrations/manager.py (Diff revision 13) Should be in the imperative mood ("Return all...")
-
reviewboard/integrations/manager.py (Diff revision 13) Should be in the imperative mood ("Return the...")
-
reviewboard/integrations/manager.py (Diff revision 13) Should be in the imperative mood ("Return the...")
-
reviewboard/integrations/models.py (Diff revision 13) Should be in the imperative mood ("Return...")
-
reviewboard/integrations/models.py (Diff revision 13) Should be in the imperative mood ("Return...")