def getQryContains(self): file = open(self._qry, "r") collectionOfQuery = dict() lastLine = 0 for line in file: if (line.startswith(".I")): query = Query() if lastLine != 0: query.I = lastLine lastLine = 0 else: query.I = int(line[2:].strip()) elif (line.startswith(".W")): isReading = True w = "" while isReading: ligne = file.readline().strip() if (ligne.startswith(".N") or ligne.startswith(".A") or ligne.startswith(".B")): isReading = False elif (ligne.startswith(".I")): isReading = False lastLine = int(ligne[2:].strip()) else: w += ligne w += " " query.W = w collectionOfQuery[query.I] = query file.close() return collectionOfQuery
def getRelContains(self): file = open(self._rel, "r") collectionOfRel = dict() isFirstLine = True listeIdoc = [] for line in file: line = line.strip() elLine = re.split( r'[ \t]+', line) # regex qui split les espaces et tabulations if isFirstLine: query = Query() query.I = int( elLine[0]) # premier élément de la liste = id requete listeIdoc.append( int(elLine[1]) ) # deuxième élément de la liste = id doc pertinent pour la requete isFirstLine = False elif query.I == int(elLine[0]): listeIdoc.append(int(elLine[1])) else: query.setIdoc(listeIdoc) collectionOfRel[query.I] = query listeIdoc = [] query = Query() query.I = int(elLine[0]) listeIdoc.append(int(elLine[1])) query.setIdoc(listeIdoc) collectionOfRel[query.I] = query file.close() return collectionOfRel