# -*- coding: utf-8 -*- """ Module implementing MainWindow. """ from PyQt4 import QtCore, QtGui from PyQt4.QtGui import QMainWindow from PyQt4.QtCore import pyqtSignature from Ui_fenettre import Ui_MainWindow import re class MainWindow(QMainWindow, Ui_MainWindow): """ Class documentation goes here. """ def __init__(self, parent = None): """ Constructor """ QMainWindow.__init__(self, parent) self.setupUi(self) @pyqtSignature("") def on_pushButton_clicked(self): """ charger l'URL indiqué dans lineedit. """ url = unicode(self.lineEdit.text()) if not url.startswith("http://"): url="http://"+url self.webView.setUrl(QtCore.QUrl(url)) self.statusbar.setText("loading "+url) def on_webView_loadStarted(self): """ Slot documentation goes here. """ self.textEdit.setText("") def on_webView_loadFinished (self): """ quand le chargement est terminé. """ self.statusbar.setText(unicode(self.webView.url().toString())+" loaded") self.setWindowTitle(self.webView.title()) html=unicode(self.webView.page().mainFrame().toHtml()) text=self.nettoie(html) self.textEdit.setText(text) result=self.devineLangue(text) self.label.setText(result) #langue = self.devineLangue(text) #self.laLangueConclusion.setText("La langue de la page est le "+langue) def on_lineEdit_returnPressed(self): """ charger l'URL indiqué dans lineedit. """ self.on_pushButton_clicked() def nettoie(self, codehtml): codehtml=codehtml.replace("\n", " ") expr = re.compile("\") codehtml = expr.sub(" ", codehtml) expr = re.compile("") codehtml = expr.sub(" ", codehtml) expr = re.compile("<.*?>") text = expr.sub("", codehtml) text=text.replace(" ", " ") text=re.sub(" +", " ", text) return text def devineLangue(self , text): #TODO : calculer la langue en fonction du texte donné #....... #return langue #-*-coding: utf-8 -*- langues = {"en" : "anglais", "fr" : "français", "de" : "allemand", "po" : "portuguais", "ne" : "neerlandais", "ro" : "roumain", "sl" : "slovaque", "ca" : "catalan", "is" : "islandais", "dan" : "dannois", "es": "espagnol", "fi" : "finnois", "ho" : "hongrois", "it": "italien", "pl" : "polonais"} #definie les fichiers traites import re for langue in langues: print langue fichier = open (langue+".txt") #ouvre les fichiers .txt montexte = fichier.read() #lit le fichier .txt expr = re.compile("\W+", re.U) lesmots = expr.split(montexte) #parcelle le fichier comme demandé lesmots = list(set(lesmots)) lesmots.sort() testinglist = open("liste."+langue+".txt","w") for mot in lesmots: testinglist.write(mot+"\n") #print mot+"\n" testinglist.close() #langues = {"en" : "anglais", "fr" : "français", "de" : "allemand", "po" : "portuguais", "ne" : "neerlandais", "ro" : "roumain", "sl" : "slovaque", "ca" : "catalan", "is" : "islandais", "dan" : "dannois", "es": "espagnol", "fi" : "finnois", "ho" : "hongrois", "it": "italien", "pl" : "polonais"} #definie les fichiers traites dicomots = {} #cree une liste de mots result = [] for langue in["fr", "en", "de", "po", "ne", "ro", "sl", "ca", "is", "dan", "es", "fi", "ho", "it", "pl" ]: #print langue import re fichier = open ("liste."+langue+".txt", "r") #ouvre les fichiers .txt montexte = fichier.read() #lit le fichier .txt #print = montexte expr = re.compile("\W+", re.U) lesmots = expr.split(montexte) #parcelle le fichier #print lesmots dicomots[langue] = lesmots #cree une liste en fonction de la langue #print dicomots fichierinconnu = open(text, "r") #ouvre le fichier a comparer textinc = fichierinconnu.read() #lit ce meme fichier listinc = textinc.split() #parcelle ce meme fichier for langue in langues: #cree une boucle compteur = 0 #mise a zero du compteur for mot in listinc: if mot in dicomots[langue]:compteur = compteur+1 #si un mot dans le dicomots est trouve, ajoute 1 au compteur result = result +[(compteur, langue)] result.sort() print result print "Ce texte semble être en",langues[result[-1][1]]+".", "=)" #for mot in lesmots: #print "le mot " + mot + " apparaît " + str(lesmots.count(mot)) + " fois." #ici nous imprimons les mots presents dans le texte avec leur frequence. if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) wnd = MainWindow() wnd.show() sys.exit(app.exec_())