Commit f3443a10686e4c1e171833fdfa2e330b79d453dd
1 parent
27763f38
Exists in
master
and in
1 other branch
New config option 'survey_mode'
Showing
2 changed files
with
24 additions
and
14 deletions
Show diff stats
src/config.py
| @@ -38,7 +38,9 @@ class Config(): | @@ -38,7 +38,9 @@ class Config(): | ||
| 38 | self.debug = 0 | 38 | self.debug = 0 |
| 39 | self.verbose = 0 | 39 | self.verbose = 0 |
| 40 | self.output = "/dev/null" | 40 | self.output = "/dev/null" |
| 41 | + self.survey_mode = 1 | ||
| 41 | self.axi = "/var/lib/apt-xapian-index/index" | 42 | self.axi = "/var/lib/apt-xapian-index/index" |
| 43 | + self.dde_url = "http://dde.debian.net/dde/q/udd/packages/all/%s?t=json" | ||
| 42 | self.popcon_index = os.path.expanduser("~/.app-recommender/popcon_index") | 44 | self.popcon_index = os.path.expanduser("~/.app-recommender/popcon_index") |
| 43 | self.popcon_dir = os.path.expanduser("~/.app-recommender/popcon_dir") | 45 | self.popcon_dir = os.path.expanduser("~/.app-recommender/popcon_dir") |
| 44 | self.clusters_dir = os.path.expanduser("~/.app-recommender/clusters_dir") | 46 | self.clusters_dir = os.path.expanduser("~/.app-recommender/clusters_dir") |
| @@ -111,8 +113,10 @@ class Config(): | @@ -111,8 +113,10 @@ class Config(): | ||
| 111 | self.debug = self.read_option('general', 'debug') | 113 | self.debug = self.read_option('general', 'debug') |
| 112 | self.debug = self.read_option('general', 'verbose') | 114 | self.debug = self.read_option('general', 'verbose') |
| 113 | self.output_filename = self.read_option('general', 'output') | 115 | self.output_filename = self.read_option('general', 'output') |
| 116 | + self.survey_mode = self.read_option('general', 'survey_mode') | ||
| 114 | 117 | ||
| 115 | self.axi = self.read_option('data_sources', 'axi') | 118 | self.axi = self.read_option('data_sources', 'axi') |
| 119 | + self.dde_url = self.read_option('data_sources', 'dde_url') | ||
| 116 | self.popcon_index = os.path.expanduser(self.read_option('data_sources','popcon_index')) | 120 | self.popcon_index = os.path.expanduser(self.read_option('data_sources','popcon_index')) |
| 117 | self.popcon_dir = os.path.expanduser(self.read_option('data_sources', 'popcon_dir')) | 121 | self.popcon_dir = os.path.expanduser(self.read_option('data_sources', 'popcon_dir')) |
| 118 | self.index_mode = self.read_option('data_sources', 'index_mode') | 122 | self.index_mode = self.read_option('data_sources', 'index_mode') |
src/web/server.py
| @@ -29,7 +29,10 @@ class FeedbackForm(form.Form): | @@ -29,7 +29,10 @@ class FeedbackForm(form.Form): | ||
| 29 | 29 | ||
| 30 | class Index: | 30 | class Index: |
| 31 | def GET(self): | 31 | def GET(self): |
| 32 | - return render.index() | 32 | + if Config().survey_mode: |
| 33 | + return render.survey_index() | ||
| 34 | + else: | ||
| 35 | + return render.index() | ||
| 33 | 36 | ||
| 34 | class About: | 37 | class About: |
| 35 | def GET(self): | 38 | def GET(self): |
| @@ -49,12 +52,12 @@ class Package: | @@ -49,12 +52,12 @@ class Package: | ||
| 49 | return render_plain.package(result) | 52 | return render_plain.package(result) |
| 50 | 53 | ||
| 51 | def get_details_from_dde(self, pkg): | 54 | def get_details_from_dde(self, pkg): |
| 52 | - json_source = "http://dde.debian.net/dde/q/udd/packages/all/%s?t=json" % pkg #FIXME: url goes to config | 55 | + json_source = Config().dde_url % pkg |
| 53 | json_data = json.load(urllib.urlopen(json_source)) | 56 | json_data = json.load(urllib.urlopen(json_source)) |
| 54 | - # parsing tags: | 57 | + # parse tags |
| 55 | tags = self._debtags_list_to_dict(json_data['r']['tag']) | 58 | tags = self._debtags_list_to_dict(json_data['r']['tag']) |
| 56 | json_data['r']['tag'] = tags | 59 | json_data['r']['tag'] = tags |
| 57 | - # formatting long description | 60 | + # format long description |
| 58 | json_data['r']['long_description'] = json_data['r']['long_description'].replace(' .\n','').replace('\n','<br />') | 61 | json_data['r']['long_description'] = json_data['r']['long_description'].replace(' .\n','').replace('\n','<br />') |
| 59 | return json_data['r'] | 62 | return json_data['r'] |
| 60 | 63 | ||
| @@ -243,12 +246,14 @@ class AppRecommender: | @@ -243,12 +246,14 @@ class AppRecommender: | ||
| 243 | pkg_details.append(Package().get_details_from_dde(pkg)) | 246 | pkg_details.append(Package().get_details_from_dde(pkg)) |
| 244 | except: | 247 | except: |
| 245 | pkg_summaries[pkg] = "" | 248 | pkg_summaries[pkg] = "" |
| 246 | - | ||
| 247 | - ### Temporarily rendering *survey* rather than *apprec* ### | ||
| 248 | - #return render.apprec(recommendation, pkg_summaries, | ||
| 249 | - # FeedbackForm(request.selected_strategies),request) | ||
| 250 | - return render_plain.survey(recommendation, pkg_details, | ||
| 251 | - FeedbackForm(request.selected_strategies),request) | 249 | + if Config().survey_mode: |
| 250 | + return render_plain.survey(recommendation, pkg_details, | ||
| 251 | + FeedbackForm(request.selected_strategies), | ||
| 252 | + request) | ||
| 253 | + else: | ||
| 254 | + return render.apprec(recommendation, pkg_summaries, | ||
| 255 | + FeedbackForm(request.selected_strategies), | ||
| 256 | + request) | ||
| 252 | 257 | ||
| 253 | def _recommends(self,request): | 258 | def _recommends(self,request): |
| 254 | user = User(dict.fromkeys(request.pkgs_list,1),request.user_id) | 259 | user = User(dict.fromkeys(request.pkgs_list,1),request.user_id) |
| @@ -256,7 +261,8 @@ class AppRecommender: | @@ -256,7 +261,8 @@ class AppRecommender: | ||
| 256 | results = dict() | 261 | results = dict() |
| 257 | for strategy_str in request.selected_strategies: | 262 | for strategy_str in request.selected_strategies: |
| 258 | self.rec.set_strategy(strategy_str) | 263 | self.rec.set_strategy(strategy_str) |
| 259 | - prediction = self.rec.get_recommendation(user).get_prediction(request.limit) | 264 | + prediction = self.rec.get_recommendation(user,10).get_prediction() |
| 265 | + print prediction | ||
| 260 | results[strategy_str] = \ | 266 | results[strategy_str] = \ |
| 261 | [result[0] for result in prediction] | 267 | [result[0] for result in prediction] |
| 262 | return results | 268 | return results |
| @@ -286,10 +292,10 @@ render = web.template.render('templates/', base='layout') | @@ -286,10 +292,10 @@ render = web.template.render('templates/', base='layout') | ||
| 286 | render_plain = web.template.render('templates/') | 292 | render_plain = web.template.render('templates/') |
| 287 | 293 | ||
| 288 | urls = ('/', 'Index', | 294 | urls = ('/', 'Index', |
| 289 | - '/apprec', 'AppRecommender', | 295 | + '/apprec', 'AppRecommender', |
| 290 | '/thanks', 'Thanks', | 296 | '/thanks', 'Thanks', |
| 291 | - '/support', 'Support', | ||
| 292 | - '/about', 'About', | 297 | + '/support', 'Support', |
| 298 | + '/about', 'About', | ||
| 293 | '/package/(.*)', 'Package' | 299 | '/package/(.*)', 'Package' |
| 294 | ) | 300 | ) |
| 295 | 301 |