Package medite :: Package MediteAppli :: Module synthetic :: Class BiBlocList
[hide private]
[frames] | no frames]

Class BiBlocList

source code

object --+
         |
        BiBlocList
Known Subclasses:
BiBlocListWD

Construit une liste de Bibloc

Un Bibloc est un tuplet de 2 Bloc alignés. Un Bloc est un objet (type,début,fin,listeDep) ou None si il est vide. type est soit I,S,R,BC debut et fin sont les limites du bloc dans la chaine de texte. listeDep est une liste éventuellement vide listant tous les intervalles de déplacement compris dans le bloc. Les blocs I et S sont alignés forcément avec des blocs None. Les blocs R et BC sont alignés forcément avec des blocs respectivement R et BC.

Instance Methods [hide private]
 
__init__(self, resultat, planTravail, depOrdonnes=True)
Constructeur Si on utilise l'ancien algo d'identification des remplacements et déplacements, on peut avoir des blocs présents uniquement dans resultat.getListeDeplacements().
source code
 
__decoreDep(self, intervalle, lDep) source code
 
__decoreDep_1(self, intervalle, lDep)
Extrait de la liste générale des déplacement lDep les déplacements se situant à l'intérieur du bloc
source code
 
__decoreDep_2(self, intervalle, lDep)
Extrait de la liste générale des déplacement lDep les déplacements se situant à l'intérieur du bloc
source code
 
__decoreDep_3(self, intervalle, lDep)
Extrait de la liste générale des déplacement lDep les déplacements se situant à l'intérieur du bloc
source code
 
_testOrdre(self)
Teste le bon ordre des blocs dans la liste
source code
 
_testNonPerte(self, resultat)
Teste la non-perte de données lors de la création du BiblocList
source code
 
extractRemplacements(self)
Recherche les S et I correspondant au critère de transformation en R et les convertit.
source code
 
extractRemplacements__(self)
Recherche les S et I correspondant au critère de transformation en R et les convertit.
source code
 
toResultat(self)
Transfomre la liste de biblocs en un Resultat
source code
 
evaluation(self, c1=0.5, c2=0.35, c3=0.15)
Evalue l'alignement
source code
 
print_html(self, dossierOutput=None)
Imprime un rapport html à partir de la liste de biblocs dossierOutput: dossier où écrire le fichier HTML
source code
 
print_html_streaming(self, dossierOutput=None, justPrintEntete=False)
Imprime un rapport html en plusieurs fois pour éviter de construire toute la chaine à substituer en mémoire dossierOutput: dossier où écrire le fichier HTML
source code
 
printTableLine(self, fBuffer) source code
 
printCloseTable(self, fBuffer) source code
 
print_html_oneshot(self, dossierOutput=None)
Imprime un rapport html en une seule fois dossierOutput: dossier où écrire le fichier HTML
source code
 
__paramToON(self, param)
Renvoie 'Oui' ou 'Non' en fonction d'un param booléen
source code
 
__listeToHtmlTable(self, stream=False, fileBuffer=None)
Convertit la liste de BiBlocs en une table html
source code
 
__souligneTexte(self, bloc)
Renvoie une chaine html avec le texte souligné aux caractères déplacés
source code
 
__keepMEP(self, texte)
Fonction chargée de conserver la mise en page du texte original
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, resultat, planTravail, depOrdonnes=True)
(Constructor)

source code 
Constructeur 

Si on utilise l'ancien algo d'identification des remplacements et déplacements,
on peut avoir des blocs présents uniquement dans resultat.getListeDeplacements().
Ceux-ci sont alors ajoutés comme des S ou des I.

dd: si depOrdonnes=False, pas d'assertion d'ordre sur les déplacement-> recherche d'un dep en O(n) dans __decoreDep1()
    sinon si depOrdonnes=True, assertion d'ordre respectée -> recherche en O(log n) dans __decoreDep2()
    
pre: isinstance(resultat,Donnees.resultatAppli.Resultat) 
     isinstance(planTravail,Donnees.planTravail.PlanTravail) 

Overrides: object.__init__

__decoreDep_1(self, intervalle, lDep)

source code 

Extrait de la liste générale des déplacement lDep les déplacements se situant à l'intérieur du bloc

Attention !! modifie lDep Comme sur les déplacements on n'a pas d'assertions sur l'ordre, on parcourt à chaque appel de cette fonction toute la liste des déplacements.

__decoreDep_2(self, intervalle, lDep)

source code 

Extrait de la liste générale des déplacement lDep les déplacements se situant à l'intérieur du bloc

Attention !! modifie lDep et retourne res2 Ici assertion d'ordre sur les dep, recherhe d'un dep en log(n)

__decoreDep_3(self, intervalle, lDep)

source code 

Extrait de la liste générale des déplacement lDep les déplacements se situant à l'intérieur du bloc

Attention !! modifie lDep et retourne res2 Ici assertion d'ordre sur les dep, recherhe d'un dep en temps linéaire comme lDep[0] est toujours >= intervalle (parce que l'ordre est maintenu par la fonction appelante), on commence la recherche à partir de là

_testNonPerte(self, resultat)

source code 

Teste la non-perte de données lors de la création du BiblocList

On teste si chaque element dans les listes de la donnée en entrée (param Resultat) est bien présent en sortie dans self.liste

extractRemplacements(self)

source code 

Recherche les S et I correspondant au critère de transformation en R et les convertit.

Convertit chaque paire de bibloc (S,None) et (None,I) se suivant en un bibloc (R,R) Modifie directement self.liste plutôt que de recréer une nouvelle liste ce qui est memory expensive

extractRemplacements__(self)

source code 

Recherche les S et I correspondant au critère de transformation en R et les convertit.

Convertit chaque paire de bibloc (S,None) et (None,I) se suivant en un bibloc (R,R)

toResultat(self)

source code 

Transfomre la liste de biblocs en un Resultat

Attention !! la liste des PAIRES de blocs déplacés n'est pas remplie

__listeToHtmlTable(self, stream=False, fileBuffer=None)

source code 

Convertit la liste de BiBlocs en une table html

Chaque Bibloc est convertit en une ligne <tr></tr> d'une table html Si stream, on ecrit régulièrement dans fileBuffer la table courante et on la réinitialise ensuite sinon on crée une grosse chaine que l'on renvoie

__keepMEP(self, texte)

source code 

Fonction chargée de conserver la mise en page du texte original

Remplace les retours à la ligne par des <br> et les espaces par des &nbsp;

Le remplacement des espaces par des nbsp est très utile pour visulaiser des alignements de code source mais plus discutable pour de la langue nat. De même mais de façon moins importante pour les br.