Merge lp:~mwhudson/launchpad/introduce-IParticipationWithAnnotations-bug-623199 into lp:launchpad
Status: | Rejected |
---|---|
Rejected by: | Michael Hudson-Doyle |
Proposed branch: | lp:~mwhudson/launchpad/introduce-IParticipationWithAnnotations-bug-623199 |
Merge into: | lp:launchpad |
Diff against target: |
226 lines (+55/-17) 6 files modified
lib/canonical/launchpad/doc/launchbag.txt (+0/-3) lib/canonical/launchpad/doc/webapp-authorization.txt (+2/-2) lib/canonical/launchpad/webapp/interaction.py (+10/-7) lib/canonical/launchpad/webapp/interfaces.py (+25/-0) lib/canonical/launchpad/webapp/servers.py (+11/-5) lib/canonical/launchpad/webapp/tests/test_servers.py (+7/-0) |
To merge this branch: | bzr merge lp:~mwhudson/launchpad/introduce-IParticipationWithAnnotations-bug-623199 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ian Booth (community) | code | Approve | |
Review via email: mp+77611@code.launchpad.net |
Description of the change
Hi there,
This is the very start of fixing 623199: ensuring that all (or at least, the overwhelming majority) of the IParticipation objects we use have an annotations dictionary so that we can start to replace thread local variables with values stuffed into this dictionary.
Grovelling around at this level is always bit risky I guess but this change doesn't actually really do anything yet, and I've run the branch through EC2 and everything passed. I could understand not wanting to land this until something uses it -- I was thinking of trying to move feature flags over to annotations as a test of the idea.
Cheers,
mwh
Unmerged revisions
- 14066. By Michael Hudson-Doyle
-
test that LaunchpadBrowse
rRequest and LaunchpadTestRe quest implement
IParticipationWithAnnotations - 14065. By Michael Hudson-Doyle
-
fix comment
- 14064. By Michael Hudson-Doyle
-
* create an IParticipationW
ithAnnotations class
* have LaunchpadTestRequest and BasicLaunchpadR equest (and so all request
classes used in real servers) declare that they implement this interface,
even though they already implement it via superclasses
* modify default Participation object to be called ParticipationWithAnnotations
and implement IParticipationWithAnnotations.
I think this is the start of an excellent improvement. ParticipationWi thAnnotations is trivial and there are no tests for it which is understandable. I think though we should write a test which checks that BasicLaunchpadR equest implements the new interface.
I agree that this branch could be chosen to be not landed until a concrete change is made which requires it. It may be that there turns out to be code needing to be added here that only becomes apparent when we go to use this new work.
Minor typo:
replace out with our
126 + # because we want all out participations to have annotations, but not to