~nataliabidart/software-center/lost-in-translation

« back to all changes in this revision

Viewing changes to softwarecenter/db/categories.py

  • Committer: Kiwinote
  • Date: 2012-03-15 22:36:31 UTC
  • mfrom: (2867 trunk)
  • mto: This revision was merged to the branch mainline in revision 2881.
  • Revision ID: kiwinote@gmail.com-20120315223631-lvea6t5sydpkkqni
mergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
142
142
                                   ),
143
143
        }
144
144
 
145
 
    def __init__(self):
 
145
    def __init__(self, subcategory=None):
 
146
        self.subcategory = subcategory
 
147
        if subcategory:
 
148
            # this is the set of recommendations for a given subcategory
 
149
            cat_title = u"Recommended For You in %s" % subcategory.name
 
150
        else:
 
151
            # this is the full set of recommendations for e.g. the lobby view
 
152
            cat_title = u"Recommended For You"
146
153
        super(RecommendedForYouCategory, self).__init__(
147
 
            u"Recommended For You", _("Recommended For You"), None,
148
 
            xapian.Query(), flags=['available-only', 'not-installed-only'],
149
 
            item_limit=60)
 
154
                cat_title,
 
155
                _(cat_title),
 
156
                None,
 
157
                xapian.Query(),
 
158
                flags=['available-only', 'not-installed-only'],
 
159
                item_limit=60)
150
160
        self.recommender_agent = RecommenderAgent()
151
161
        self.recommender_agent.connect(
152
162
            "recommend-me", self._recommend_me_result)
158
168
        pkgs = []
159
169
        for item in result_list['data']:
160
170
            pkgs.append(item['package_name'])
161
 
        self.query = get_query_for_pkgnames(pkgs)
 
171
        if self.subcategory:
 
172
            self.query = xapian.Query(xapian.Query.OP_AND,
 
173
                                  get_query_for_pkgnames(pkgs),
 
174
                                  self.subcategory.query)
 
175
        else:
 
176
            self.query = get_query_for_pkgnames(pkgs)
162
177
        self.emit("needs-refresh")
163
178
 
164
179
    def _recommender_agent_error(self, recommender_agent, msg):
182
197
 
183
198
    def __init__(self, pkgname):
184
199
        super(AppRecommendationsCategory, self).__init__(
185
 
            u"People Also Installed", _("People Also Installed"), None,
186
 
            xapian.Query(), flags=['available-only', 'not-installed-only'],
187
 
            item_limit=4)
 
200
                u"People Also Installed",
 
201
                _(u"People Also Installed"),
 
202
                None,
 
203
                xapian.Query(),
 
204
                flags=['available-only', 'not-installed-only'],
 
205
                item_limit=4)
188
206
        self.recommender_agent = RecommenderAgent()
189
207
        self.recommender_agent.connect(
190
208
            "recommend-app", self._recommend_app_result)