~gary-lasker/software-center/translation-fix-lp750421

« back to all changes in this revision

Viewing changes to softwarecenter/db/reviews.py

  • Committer: Michael Vogt
  • Date: 2011-04-06 14:36:44 UTC
  • Revision ID: michael.vogt@ubuntu.com-20110406143644-bk2zb1u81f65w34x
softwarecenter/db/reviews.py: add from_json() to Review object

Show diffs side-by-side

added added

removed removed

Lines of Context:
149
149
                setattr(review, attr, value)
150
150
        return review
151
151
 
 
152
    @classmethod
 
153
    def from_json(cls, other):
 
154
        """ convert json reviews into "out" review objects """
 
155
        app = Application("", other["package_name"])
 
156
        review = cls(app)
 
157
        for k, v in other.iteritems():
 
158
            setattr(review, k, v)
 
159
        return review
 
160
 
152
161
class ReviewLoader(object):
153
162
    """A loader that returns a review object list"""
154
163
 
486
495
        reviews_json = simplejson.loads(json_str)
487
496
        reviews = []
488
497
        for review_json in reviews_json:
489
 
            appname = review_json["app_name"]
490
 
            pkgname = review_json["package_name"]
491
 
            app = Application(appname, pkgname)
492
 
            review = Review(app)
493
 
            review.id = review_json["id"]
494
 
            review.date_created = review_json["date_created"]
495
 
            review.rating = review_json["rating"]
496
 
            if review_json["reviewer_displayname"]:
497
 
                review.reviewer_username = review_json["reviewer_displayname"]
498
 
            else:
499
 
                review.reviewer_username = review_json["reviewer_username"]
500
 
            review.language = review_json["language"]
501
 
            review.summary =  review_json["summary"]
502
 
            review.review_text = review_json["review_text"]
 
498
            print "review_json", review_json
 
499
            review = Review.from_json(review_json)
503
500
            reviews.append(review)
504
501
        # run callback
505
502
        callback(app, reviews)