Chromium Code Reviews| Index: rietveld.py |
| diff --git a/rietveld.py b/rietveld.py |
| index e412a28046b377fc7c9a79b619a5dda7f08a56b1..b085c17812e7a8243067be719edac85c3a7d6c1e 100644 |
| --- a/rietveld.py |
| +++ b/rietveld.py |
| @@ -445,3 +445,40 @@ class CachingRietveld(Rietveld): |
| 'get_patchset_properties', |
| (issue, patchset), |
| super(CachingRietveld, self).get_patchset_properties) |
| + |
| + |
| +class ReadOnlyRietveld(Rietveld): |
|
Isaac (away)
2013/09/14 07:48:08
I think maybe this should not extend rietveld -- t
Paweł Hajdan Jr.
2013/09/16 14:33:52
Sounds good to me - I'll probably do that on Thurs
M-A Ruel
2013/09/16 14:53:05
Technically, you could just zap POST and be fine.
|
| + """Only provides read operations, and simulates writes locally.""" |
| + |
| + # Dictionary of local changes, indexed by issue number as int. |
| + _local_changes = {} |
| + |
| + def __init__(self, *args, **kwargs): |
| + super(ReadOnlyRietveld, self).__init__(*args, **kwargs) |
| + |
| + def close_issue(self, issue): |
| + logging.info('ReadOnlyRietveld: closing issue %d' % issue) |
| + ReadOnlyRietveld._local_changes.setdefault(issue, {})['closed'] = True |
| + |
| + def get_issue_properties(self, issue, messages): |
| + data = super(ReadOnlyRietveld, self).get_issue_properties(issue, messages) |
| + data.update(ReadOnlyRietveld._local_changes.get(issue, {})) |
| + return data |
| + |
| + def update_description(self, issue, description): |
| + logging.info('ReadOnlyRietveld: new description for issue %d: %s' % |
| + (issue, description)) |
| + |
| + def add_comment(self, issue, message, add_as_reviewer=False): |
| + logging.info('ReadOnlyRietveld: posting comment "%s" to issue %d' % |
| + (message, issue)) |
| + |
| + def set_flag(self, issue, patchset, flag, value): |
| + logging.info('ReadOnlyRietveld: setting flag "%s" to "%s" for issue %d' % |
| + (flag, value, issue)) |
| + ReadOnlyRietveld._local_changes.setdefault(issue, {})[flag] = value |
| + |
| + def trigger_try_jobs( |
| + self, issue, patchset, reason, clobber, revision, builders_and_tests): |
| + logging.info('ReadOnlyRietveld: triggering try jobs %r for issue %d' % |
| + (builders_and_tests, issue)) |