# -*- 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) self.Louis.setText("Nous sommes entrain d'etudier cette information :D") @pyqtSignature("") def on_lineEdit_returnPressed(self): """ Slot documentation goes here. """ self.on_pushButton_clicked() def on_webView_loadFinished (self): """ quand le chargement est terminé. """ self.statusbar.setText(unicode(self.webView.url().toString())+" loaded") html = unicode(self.webView.page().mainFrame().toHtml()) text = self.nettoie(html) self.textEdit.setText(text) langue=self.devinelangue(text) #TODO: #langue=self.langue(text) self.Louis.setText(langue) def nettoie(self, codehtml): codehtml=codehtml.replace("\n", " " ) expr= re.compile("", re.U) codehtml= expr.sub(" ", codehtml) expr=re.compile("") codehtml=expr.sub(" ", codehtml) codehtml=codehtml.replace(" ", " ") expr=re.compile("<.*?>") text=expr.sub(" ",codehtml) text=re.sub(" +"," ",text) return text def devinelangue(self, text): langues = {"en" : "anglais", "fr" : "francais", "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={} resultat=[] for langue in langues: fichier = open ("liste."+langue+".txt", "r") #ouvre les fichiers .txt fichierchoisi = fichier.read() #lit le fichier .txt expr=re.compile("\W+",re.U) #parcelle le fichier lesmots = expr.split(fichierchoisi) dicoMots[langue]=lesmots #cree une liste en fonction de la langue listeinc = text.split() for langue in langues: #cree une boucle compteurmots=0 #mise a zero du compteur for mot in listeinc: if mot in dicoMots[langue]: compteurmots+=1 #si un mot dans le dicomots est trouve, ajoute 1 au compteur resultat+=[(compteurmots,langue)] resultat.sort() print resultat return "La langue de la page est en " + langues[resultat[-1][1]]+". ;)" if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) wnd = MainWindow() wnd.show() sys.exit(app.exec_())