def get_users(self): ## Read in the survey data or simulate new data if os.path.isfile(self.survey_data_filename): parser = Parser(self.survey_data_filename) all_users = parser.get_users() ## Remember all previous matches ## TODO: Update analyze function to exclude previous pairs (Don't want the same person each week) ## TODO: Persist to a database instead of a file previous_pairs = set([]) previous_pairs_filename = "c:/users/aaron/desktop/previous_pairs.txt" if os.path.isfile(previous_pairs_filename): with open (previous_pairs_filename) as prev: for line in prev: usera, userb = line.strip().split(",") previous_pairs.add((usera,userb)) previous_pairs.add((userb,usera)) ## Grabs the list of people interested in being matched this week ## From the Meetup event API opt_ins = self.get_weekly_opt_ins() ## Filter to just opted-in users self.users = set([i for i in all_users if int(i.user_id) in opt_ins]) else: print "Simulating data" ## Simulate some number of survey responses sim = Simulator() sim.simulate(200) ## By adding a seed parameter, you can have reproducible sims self.users = sim.get_users() # ## Print some summaries # for user in users: # user.to_string() # Print some descriptive stats print "# Users", len(self.users), [u.name for u in self.users]