class TopicChange:
    def __init__(self, dataFile, userJoins, activeForums):
        sys.stderr.write("Started\n")
        self.dataHandler = DataHandler(dataFile, userJoins)
        self.dataHandler.loadActiveForums(activeForums)
        sys.stderr.write("Data loaded\n")
        self.post2Month = self.dataHandler.getPost2Month()
        self.doc2Post = self.dataHandler.getDoc2Post()
        self.post2User = self.dataHandler.getPost2User()
        sys.stderr.write("Got the dicts\n")

    def loadInferredTopics(self, topicsOutput):
        userMonth = dd(lambda: dd(int))
        numUsers = set()
        csvReader = csv.reader(open(topicsOutput))
        for doc in csvReader:
            # if len(doc)<21:
            #  continue
            # print 'phani'
            docId = doc[0]
            # topic5Num = doc[5]
            # topic19Num = doc[19]
            userId = self.post2User[self.doc2Post[docId]]
            # month = self.post2Month[self.doc2Post[docId]]
            # userMonth[userId][month] += topic5Num
            numUsers.add(userId)
        # for user in userMonth.iterkeys():
        #  for month in userMonth[user].iterkeys():
        #    print user, month, userMonth[user][month]
        print len(numUsers)