~rnr-developers/rnr-server/rnrclient

« back to all changes in this revision

Viewing changes to rnrclient.py

  • Committer: Anthony Lenton
  • Date: 2011-01-20 14:18:49 UTC
  • mfrom: (27.1.1 rnrclient)
  • Revision ID: anthony.lenton@canonical.com-20110120141849-6sj3lqf9jlb0fcog
MergedĀ inĀ lp:~elachuni/rnr-server/rnrclient-filter-reviews

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
                    break
82
82
        return self._get(url)
83
83
 
84
 
    @validate_pattern('language', r'\w+')
85
 
    @validate_pattern('origin', r'[0-9a-z+-.:/]+')
86
 
    @validate_pattern('distroseries', r'\w+')
 
84
    @validate_pattern('language', r'\w+', required=False)
 
85
    @validate_pattern('origin', r'[0-9a-z+-.:/]+', required=False)
 
86
    @validate_pattern('distroseries', r'\w+', required=False)
 
87
    @validate_pattern('version', r'[-\w+.:~]+', required=False)
87
88
    @validate_pattern('packagename', r'[a-z0-9.+-]+')
88
89
    @validate('appname', str, required=False)
89
90
    @validate('page', int, required=False)
90
91
    @returns_list_of(ReviewDetails)
91
 
    def get_reviews(self, language, origin, distroseries, packagename,
92
 
        appname='', page=1):
 
92
    def get_reviews(self, packagename, language='any', origin='any',
 
93
        distroseries='any', version='any', appname='', page=1):
93
94
        """Fetch ratings and reviews for a particular package name.
94
95
 
95
 
        If appname is provided, fetch reviews for that particular app, not
96
 
        the whole package.
 
96
        If any of the optional arguments are provided, fetch reviews for that
 
97
        particular app, language, origin, distroseries or version.
97
98
        """
98
99
        if appname:
99
100
            appname = quote_plus(';' + appname)
100
 
        return self._get('%s/%s/%s/%s%s/page/%s/' % (language, origin,
101
 
            distroseries, packagename, appname, page))
 
101
        return self._get('%s/%s/%s/%s/%s%s/page/%s/' % (language, origin,
 
102
            distroseries, version, packagename, appname, page))
102
103
 
103
104
    @validate('review', ReviewRequest)
104
105
    @returns_json