def main(opts): "Main function" if not [os.path.isdir(x) for x in vars(opts)]: raise IOError("No such directory") # add slash at the end of directory slashIt = lambda x: x if x.endswith("/") else x + "/" path = slashIt(opts.path) pathConverted = slashIt(opts.pathConverted) pathManual = slashIt(opts.pathManual) manualReplacments = [] fileNames = [] for name in FileReader.getFileNames(path): # extracts file name from path fileName = FileReader.getFileName(name) # get file lines fileLines = FileReader.readFile(name) templateConverter = TemplateConverter(fileLines, name) # get converted lines convertedLines = templateConverter.getFileLines() # add lines that are inconvertible to the list manualReplacments += templateConverter.irreversibleDataList fileNames += [x.fileName for x in templateConverter.irreversibleDataList] fileName = fileName + ".tmpl" # save jinja2 template FileWriter.writeToFile(pathConverted + fileName, convertedLines) # save info about inconvertible template print(str(len(list(set( fileNames)))) + " file(s) need manual conversion. More information can be found in:\n" + pathManual + "manualConversions.txt") FileWriter.writeToFile(pathManual + "manualConversions.txt", FileWriter.convertToString(manualReplacments))
def writeFeaturesToFile(sentence, filename): fileWriter = FileWriter(OUTPUT_PATH, filename) tagged = nltk.pos_tag(word_tokenize(sentence)) for i in range(len(tagged)): feature = 'I\tcw={} ct={}'.format(tagged[i][0], tagged[i][1]) if i == 0: feature = feature + ' pw=BOS pt=BOS' else: feature = feature + ' pw={} pt={}'.format(tagged[i-1][0], tagged[i-1][1]) if i == len(tagged)-1: feature = feature + ' nw=EOS nt=EOS' else: feature = feature + ' nw={} nt={}'.format(tagged[i+1][0], tagged[i+1][1]) fileWriter.writeToFile(feature) fileWriter.writeToFile("\n") print(tagged)
def writeFeaturesToFile(sentence, filename): fileWriter = FileWriter(OUTPUT_PATH, filename) tagged = nltk.pos_tag(word_tokenize(sentence)) for i in range(len(tagged)): feature = 'I\tcw={} ct={}'.format(tagged[i][0], tagged[i][1]) if i == 0: feature = feature + ' pw=BOS pt=BOS' else: feature = feature + ' pw={} pt={}'.format(tagged[i - 1][0], tagged[i - 1][1]) if i == len(tagged) - 1: feature = feature + ' nw=EOS nt=EOS' else: feature = feature + ' nw={} nt={}'.format(tagged[i + 1][0], tagged[i + 1][1]) fileWriter.writeToFile(feature) fileWriter.writeToFile("\n") print(tagged)