Commit f3443a10686e4c1e171833fdfa2e330b79d453dd

Authored by Tássia Camões Araújo
1 parent 27763f38
Exists in master and in 1 other branch add_vagrant

New config option 'survey_mode'

Showing 2 changed files with 24 additions and 14 deletions   Show diff stats
@@ -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(&#39;templates/&#39;, base=&#39;layout&#39;) @@ -286,10 +292,10 @@ render = web.template.render(&#39;templates/&#39;, base=&#39;layout&#39;)
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