Merge lp:~aaronp/software-center/review-callbacks into lp:software-center

Proposed by Aaron Peachey
Status: Merged
Merged at revision: 1937
Proposed branch: lp:~aaronp/software-center/review-callbacks
Merge into: lp:software-center
Prerequisite: lp:~aaronp/software-center/fix-807010
Diff against target: 70 lines (+23/-18)
1 file modified
softwarecenter/backend/reviews.py (+23/-18)
To merge this branch: bzr merge lp:~aaronp/software-center/review-callbacks
Reviewer Review Type Date Requested Status
Gary Lasker (community) Approve
Michael Vogt Pending
Review via email: mp+67416@code.launchpad.net

Description of the change

fixes submit_usefulness and report_abuse callbacks to work with the new spawn_helper and pagination code

To post a comment you must log in.
Revision history for this message
Gary Lasker (gary-lasker) wrote :

Looks good Aaron, thank you again!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'softwarecenter/backend/reviews.py'
2--- softwarecenter/backend/reviews.py 2011-07-09 04:41:22 +0000
3+++ softwarecenter/backend/reviews.py 2011-07-09 04:41:22 +0000
4@@ -396,7 +396,7 @@
5 "--parent-xid", "%s" % parent_xid,
6 "--datadir", datadir,
7 ]
8- spawn_helper = SpawnHelper()
9+ spawn_helper = SpawnHelper("json")
10 spawn_helper.connect("exited",
11 self._on_report_abuse_finished,
12 review_id, callback)
13@@ -426,36 +426,41 @@
14 spawn_helper.connect("exited",
15 self._on_submit_usefulness_finished,
16 review_id, is_useful, callback)
17+ spawn_helper.connect("error",
18+ self._on_submit_usefulness_error,
19+ review_id, callback)
20 spawn_helper.run(cmd)
21
22- def _on_submit_usefulness_finished(self, spawn_helper, exitcode, review_id, is_useful, callback):
23+ def _on_submit_usefulness_finished(self, spawn_helper, res, review_id, is_useful, callback):
24 """ called when report_usefulness finished """
25 # "Created", "Updated", "Not modified" -
26 # once lp:~mvo/rnr-server/submit-usefulness-result-strings makes it
27 response = spawn_helper._stdout
28 if response == '"Not modified"':
29+ self._on_submit_usefulness_error(spawn_helper, response, review_id, callback)
30 return
31- if exitcode == 0:
32- LOG.debug("usefulness id %s " % review_id)
33- useful_votes = UsefulnessCache()
34- useful_votes.add_usefulness_vote(review_id, is_useful)
35- for (app, reviews) in self._reviews.iteritems():
36- for review in reviews:
37- if str(review.id) == str(review_id):
38- # update usefulness, older servers do not send
39- # usefulness_{total,favorable} so we use getattr
40- review.usefulness_total = getattr(review, "usefulness_total", 0) + 1
41- if is_useful:
42- review.usefulness_favorable = getattr(review, "usefulness_favorable", 0) + 1
43+
44+ LOG.debug("usefulness id %s " % review_id)
45+ useful_votes = UsefulnessCache()
46+ useful_votes.add_usefulness_vote(review_id, is_useful)
47+ for (app, reviews) in self._reviews.iteritems():
48+ for review in reviews:
49+ if str(review.id) == str(review_id):
50+ # update usefulness, older servers do not send
51+ # usefulness_{total,favorable} so we use getattr
52+ review.usefulness_total = getattr(review, "usefulness_total", 0) + 1
53+ if is_useful:
54+ review.usefulness_favorable = getattr(review, "usefulness_favorable", 0) + 1
55 callback(app, self._reviews[app], useful_votes, 'replace', review)
56 break
57- else:
58- LOG.debug("submit usefulness id=%s failed with exitcode %s" % (
59- review_id, exitcode))
60+
61+ def _on_submit_usefulness_error(self, spawn_helper, error_str, review_id, callback):
62+ LOG.warn("submit usefulness id=%s failed with error: %s" %
63+ (review_id, error_str))
64 for (app, reviews) in self._reviews.iteritems():
65 for review in reviews:
66 if str(review.id) == str(review_id):
67- review.usefulness_submit_error = exitcode
68+ review.usefulness_submit_error = True
69 callback(app, self._reviews[app], None, 'replace', review)
70 break
71

Subscribers

People subscribed via source and target branches