Commit 15667ffbb7e05745b884b996c07fa30a2fb71222

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

Added arch attribute to user.

Showing 1 changed file with 13 additions and 5 deletions   Show diff stats
src/user.py
... ... @@ -111,7 +111,7 @@ class User:
111 111 """
112 112 Define a user of a recommender.
113 113 """
114   - def __init__(self,item_score,user_id=0,demo_profiles_set=0):
  114 + def __init__(self,item_score,user_id=0,arch=0,demo_profiles_set=0):
115 115 """
116 116 Set initial user attributes. pkg_profile gets the whole set of items,
117 117 a random user_id is set if none was provided and the demographic
... ... @@ -119,6 +119,7 @@ class User:
119 119 """
120 120 self.item_score = item_score
121 121 self.pkg_profile = self.items()
  122 + self.arch = arch
122 123  
123 124 if user_id:
124 125 self.user_id = user_id
... ... @@ -272,21 +273,28 @@ class User:
272 273 return self.pkg_profile
273 274  
274 275 class RandomPopcon(User):
275   - def __init__(self,submissions_dir,pkgs_filter=0):
  276 + def __init__(self,submissions_dir,arch=0,pkgs_filter=0):
276 277 """
277 278 Set initial parameters.
278 279 """
279 280 len_profile = 0
280   - while len_profile < 100:
  281 + match_arch = False
  282 + while len_profile < 100 or not match_arch:
281 283 path = random.choice([os.path.join(root, submission) for
282 284 root, dirs, files in os.walk(submissions_dir)
283 285 for submission in files])
284 286 user = PopconSystem(path)
  287 + print arch
  288 + print user.arch
  289 + if arch and user.arch==arch:
  290 + match_arch = True
  291 + print "match"
285 292 if pkgs_filter:
286 293 user.filter_pkg_profile(pkgs_filter)
287 294 len_profile = len(user.pkg_profile)
  295 + print "p",len_profile
288 296 submission = data.PopconSubmission(path)
289   - User.__init__(self,submission.packages,submission.user_id)
  297 + User.__init__(self,submission.packages,submission.user_id,submission.arch)
290 298  
291 299 class PopconSystem(User):
292 300 def __init__(self,path,user_id=0):
... ... @@ -296,7 +304,7 @@ class PopconSystem(User):
296 304 submission = data.PopconSubmission(path)
297 305 if not user_id:
298 306 user_id = submission.user_id
299   - User.__init__(self,submission.packages,user_id)
  307 + User.__init__(self,submission.packages,user_id,submission.arch)
300 308  
301 309 class PkgsListSystem(User):
302 310 def __init__(self,pkgs_list_or_file,user_id=0):
... ...