Commit f13130168fa3c5923742f28eb2327195a0e5fcae

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

Default config options updated. Fixed bug with logging, config is Singleton.

Showing 2 changed files with 42 additions and 35 deletions   Show diff stats
src/bin/app_recommender.cfg
@@ -3,34 +3,34 @@ @@ -3,34 +3,34 @@
3 [general] 3 [general]
4 # logging level 4 # logging level
5 debug = 0 5 debug = 0
6 -verbose = 0 6 +verbose = 1
7 # output file 7 # output file
8 #output = /dev/null 8 #output = /dev/null
9 -output = log-apprec 9 +output = log-popindex-desktop-full
10 10
11 [data_sources] 11 [data_sources]
12 # path to recommender filters 12 # path to recommender filters
13 filters = ~/.app-recommender/filters 13 filters = ~/.app-recommender/filters
14 # path to apt-xapian-index 14 # path to apt-xapian-index
15 #axi = /var/lib/apt-xapian-index/index 15 #axi = /var/lib/apt-xapian-index/index
16 -axi = /root/.app-recommender/DesktopAxi 16 +axi = /root/.app-recommender/axi_desktop
17 # DDE url 17 # DDE url
18 -dde_url = http://dde.debian.net/dde/q/udd/packages/all/%s?t=json 18 +#dde_url = http://dde.debian.net/dde/q/udd/packages/all/%s?t=json
  19 +dde_url = http://46.4.235.200:8000/q/udd/packages/all/%s?t=json
19 # old, reindex, cluster, recluster 20 # old, reindex, cluster, recluster
20 index_mode = old 21 index_mode = old
21 # path to popcon index 22 # path to popcon index
22 -popcon_index = ~/.app-recommender/popcon-index_desktop_1000 23 +popcon_index = ~/.app-recommender/popcon-index_desktop
23 # path to popcon submissions dir 24 # path to popcon submissions dir
24 -#popcon_dir = ~/.app-recommender/popcon_dir  
25 -popcon_dir = ~/org/popcon.debian.org/popcon-mail/popcon-entries/ 25 +popcon_dir = ~/.app-recommender/popcon-entries
26 # path to valid_pkgs file 26 # path to valid_pkgs file
27 -pkgs_filter = program 27 +pkgs_filter = desktop
28 # path to popcon clusters dir 28 # path to popcon clusters dir
29 clusters_dir = ~/.app-recommender/clusters_dir_full 29 clusters_dir = ~/.app-recommender/clusters_dir_full
30 # number of medoids for clustering 30 # number of medoids for clustering
31 k_medoids = 100 31 k_medoids = 100
32 # number of popcon submission for indexing 32 # number of popcon submission for indexing
33 -max_popcon = 1000 33 +max_popcon = 100000000
34 34
35 [recommender] 35 [recommender]
36 # recommendation strategy 36 # recommendation strategy
@@ -26,8 +26,9 @@ import logging @@ -26,8 +26,9 @@ import logging
26 import logging.handlers 26 import logging.handlers
27 27
28 from ConfigParser import * 28 from ConfigParser import *
  29 +from singleton import Singleton
29 30
30 -class Config(): 31 +class Config(Singleton):
31 """ 32 """
32 Class to handle configuration options. 33 Class to handle configuration options.
33 """ 34 """
@@ -35,29 +36,33 @@ class Config(): @@ -35,29 +36,33 @@ class Config():
35 """ 36 """
36 Set default configuration options. 37 Set default configuration options.
37 """ 38 """
38 - self.debug = 0  
39 - self.verbose = 1  
40 - self.output = "/dev/null"  
41 - self.filters = os.path.expanduser("~/.app-recommender/filters")  
42 - #self.axi = "/var/lib/apt-xapian-index/index"  
43 - self.axi = os.path.expanduser("~/.app-recommender/ProgramAxi")  
44 - #self.dde_url = "http://dde.debian.net/dde/q/udd/packs/all/%s?t=json"  
45 - self.dde_url = "http://46.4.235.200:8000/q/udd/packages/all/%s?t=json"  
46 - self.popcon_index = os.path.expanduser("~/.app-recommender/popcon-index")  
47 - self.popcon_dir = os.path.expanduser("~/.app-recommender/popcon-entries")  
48 - self.pkgs_filter = "program"  
49 - self.clusters_dir = os.path.expanduser("~/.app-recommender/clusters-dir")  
50 - self.k_medoids = 100  
51 - self.max_popcon = 1000  
52 - self.index_mode = "old"  
53 - self.strategy = "cb"  
54 - self.weight = "bm25"  
55 - self.profile_size = 50  
56 - # options: maximal, voted, desktop  
57 - self.profiling = ["maximal"]  
58 - self.k_neighbors = 100  
59 - self.load_options()  
60 - self.set_logger() 39 + if not hasattr(self, 'initialized'):
  40 + self.debug = 0
  41 + self.verbose = 1
  42 + #self.output = "/dev/null"
  43 + self.output = "log"
  44 + self.filters = os.path.expanduser("~/.app-recommender/filters")
  45 + #self.axi = "/var/lib/apt-xapian-index/index"
  46 + self.axi = os.path.expanduser("~/.app-recommender/ProgramAxi")
  47 + #self.dde_url = "http://dde.debian.net/dde/q/udd/packs/all/%s?t=json"
  48 + self.dde_url = "http://46.4.235.200:8000/q/udd/packages/all/%s?t=json"
  49 + self.popcon_index = os.path.expanduser("~/.app-recommender/popcon-index")
  50 + self.popcon_dir = os.path.expanduser("~/.app-recommender/popcon-entries")
  51 + self.pkgs_filter = "program"
  52 + self.clusters_dir = os.path.expanduser("~/.app-recommender/clusters-dir")
  53 + self.k_medoids = 100
  54 + self.max_popcon = 1000
  55 + self.index_mode = "old"
  56 + self.strategy = "cb"
  57 + self.weight = "bm25"
  58 + self.profile_size = 50
  59 + # options: maximal, voted, desktop
  60 + self.profiling = ["maximal"]
  61 + self.k_neighbors = 100
  62 + self.load_options()
  63 + self.set_logger()
  64 + self.initialized = 1
  65 + logging.info("Basic config")
61 66
62 def usage(self): 67 def usage(self):
63 """ 68 """
@@ -226,7 +231,9 @@ class Config(): @@ -226,7 +231,9 @@ class Config():
226 file_handler = logging.handlers.RotatingFileHandler(self.output, 231 file_handler = logging.handlers.RotatingFileHandler(self.output,
227 maxBytes=50000000, 232 maxBytes=50000000,
228 backupCount=5) 233 backupCount=5)
229 - log_format = '%(asctime)s AppRecommender %(levelname)-8s %(message)s'  
230 - file_handler.setFormatter(logging.Formatter(log_format)) 234 + log_format = '%(asctime)s %(levelname)-8s %(message)s'
  235 + file_handler.setFormatter(logging.Formatter(log_format,
  236 + datefmt='%Y-%m-%d %H:%M:%S'))
231 file_handler.setLevel(log_level) 237 file_handler.setLevel(log_level)
232 self.logger.addHandler(file_handler) 238 self.logger.addHandler(file_handler)
  239 + logging.info("Set up logger")