82
82
return self._get(url)
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
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.
95
If appname is provided, fetch reviews for that particular app, not
96
If any of the optional arguments are provided, fetch reviews for that
97
particular app, language, origin, distroseries or version.
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))
103
104
@validate('review', ReviewRequest)