Outils pour utilisateurs

Outils du site


bac_a_sable

Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

bac_a_sable [2014/06/05 11:04]
moissan
bac_a_sable [2014/06/21 11:24] (Version actuelle)
moissan
Ligne 1: Ligne 1:
-fgghljkhm +  # -*- coding:​Utf-8 -*- 
-|1^2^3+   
-|a|b|c+  #​completement different de essai9.py 
-|d^e|f+  #ok pour les listes 
-vgbvj:lb+  #ok pour les blanc invisible en debut de ligne pour ne pas séparer 2 bloc 
 +  #ok pour les titres 
 +  #ok pour gras ** '''​ 
 +  #<​nowiki> ​ bouffait la premiere lettre des autres balise <  > : des read en trop dans les else 
 +  #il imprime bien True et false , mais il oublie d'​ecrire <​nowiki>​et </​nowiki>​ ! 
 +  #ok nowiki  
 +  #probleme quand le debut de l'​analyse met nowiki true : le reste de l'​analyse se fait quand même et peut decoder ce qui ne le devrait pas 
 +  # fausse solution mettre des and nowiki == False au autre if  
 +  # bonne solution : elif aux test suivant : donc ne marchent pas si le premier if a marché inutile de mettre and nowiki == False 
 +  #ok nowiki et pre 
 +  # italique et souligné  
 +  # corection retour </​del>​ 
 +  # probleme des listes surtout après un titre : pas de comptage des blanc pour faire les liste 
 +      # donc boucle de ligne qui refait des tour sans passer par le boucle principale 
 +      #solution : if pour ne pas bouffer le \n  test dans 15.py 
 +  #16.py ok 
 +   
 +  #17.py <​code>​ et <​file>​ a converti en <​pre>​ 
 +  #ok sauf parfois contradiction entre fin de pre indenté et pre par code ou file 
 +  #ok ... reste un petit probleme de mediawiki qui n'aime pas les balise <pre> pas en debut de ligne 
 +  #18.py ok avec \n a tout les <​code>​ et <​file>​ 
 +  #​19.py ​ \n derriere les </​pre>​ d'​indentation pour ne pas perturber ce qui suit 
 +  #20.py boucle de repetition des test pour accepter des balise collé : ici 3 fois 
 +  #21.py choix automatique du nombre de test pour balise enchainé 
 +  #22.py met 1 = de moins dans les titres , met le titre niveau 1 de dokuwiki en caché dans mediawiki (erreur bouffe les = isolé ) 
 +  #23.py ne pas traiter les liste if pre = False 
 +  #24.py desactive le decodage de <pre>  
 +  #25.py <code xx> comme <​code>​ corrige l'​erreur du 22.py qui bouffait les = 
 +  #26.py liens externe [[ http...|...]] > [http... ...]  
 +  # ok mais // derriere http traité comme un italique 
 +  #27.py detecte http: pour ne pas prendre // pour italique 
 +  #28.py supprime ''​ de chasse fixe 
 +  #29.py {{ http...?​...}} > http... ... images externe 
 +  #30.py tableau sauf case fusionné ... ''​mis en nowiki .... probleme dans le chapitre coloration syntaxique : en nowiki jusqu'​a la fin du fichier 
 +  #31.py laissé libre pour separer tableau et chasse fixe 
 +  #32.py variable separé pour chasse fixe 
 +  #33.py tableau uniquement sur 1er caractere de la ligne 
 +  #34.py traitement des [[ ]] pour ne pas laisser un | dedans perturber les tableaux 
 +  #35.py ajoute un banc derriere chaque barre du tableaux (ecrasé par 36) 
 +  #36.py epuise les blanc apres la derniere barre des tableaux 
 +   
 +  obFichier = open('​mediawiki.txt','​w'​) 
 +  ofi = open('​dokuwiki.txt',​ '​r'​) 
 +  pre = False # code ou file 
 +  nowiki = False 
 +  souligne = False 
 +  indent = False   
 +  titre = False 
 +  tableau = False 
 +  chasse = False 
 +   
 +  t = ofi.read(1
 +  while t != ''​ : 
 +      while t=='​\n'​ : #epuise les \n 
 +          obFichier.write( t ) 
 +          #​obFichier.write( '​x'​ ) # pour verifier  
 +          t = ofi.read(1) 
 +      if pre == False : 
 +          a = 0 
 +          while t==' ' : #compter les blancs  
 +              a = a + 1 
 +              t = ofi.read(1) 
 +          #​obFichier.write( chr(48 + a ) ) #ajouté pour afficher le comptage 
 +          if a < 
 +              if indent == True : 
 +                  indent = False  
 +                  if pre==False : # devient inutile depuis que ce bloc est mis dans un if pre == False 
 +                      obFichier.write('</​pre>​\n'​ ) # retour a la ligne pour eviter d'​être melangé a la suite : faisait rater les tritre a mediawiki 
 +          else : 
 +              if t=='​-'​ or t=='​*'​ : 
 +                  if indent == True : 
 +                      indent = False 
 +                      if pre==False :  
 +                          obFichier.write('</​pre>'​ ) 
 +                  if t=='​-'​ : 
 +                      c = '#'​ 
 +                  if t=='​*'​ : 
 +                      c = '​*'​ 
 +                  a = a / 2 
 +                  while a > 0 : #faire le nombre d'* ou # des liste 
 +                      a = a - 1 
 +                      obFichier.write( c ) 
 +                  t = ofi.read(1) #​ lit un caractere car le dernier lu n'a pas a etre ecrit 
 +              else : 
 +                  if indent == False : 
 +                      indent = True 
 +                      if pre==False : 
 +                          obFichier.write('<​pre>'​ ) 
 +                  while a > 0 : #faire le nombre de blanc 
 +                      a = a - 1 
 +                      obFichier.write('​ ') 
 +      premier = True 
 +      while t!=''​ and t!='​\n'​ : #boucle qui fait une ligne 
 +          a = 10 
 +          while a > 0 : # boucle de repetion des test pour accepter plusieur balise collé 
 +              #​obFichier.write("​%i"​ %a) # pour montrer le nombre de boucle  
 +              a = a - 1 
 +              if pre==True and nowiki==False : 
 +                  if t == '<'​ :​ #</​code>​ 
 +                      t = ofi.read(1) 
 +                      if t == '/'​ : 
 +                          t = ofi.read(1) 
 +                          if t == '​c'​ : 
 +                              t = ofi.read(1) 
 +                              if t == '​o'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t == '​d'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t == '​e'​ : 
 +                                          t = ofi.read(1) 
 +                                          if t == '>'​ : 
 +                                              t = ofi.read(1) 
 +                                              pre = False 
 +                                              obFichier.write('</​pre>'​)  
 +                                          else : 
 +                                              obFichier.write('</​code'​)  
 +                                      else : 
 +                                          obFichier.write('</​cod'​)  
 +                                  else : 
 +                                      obFichier.write('</​co'​)  
 +                              else : 
 +                                  obFichier.write('</​c'​)  
 +                          elif t == '​f'​ :​ #</​file>​ 
 +                              t = ofi.read(1) 
 +                              if t == '​i'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t == '​l'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t == '​e'​ : 
 +                                          t = ofi.read(1) 
 +                                          if t == '>'​ : 
 +                                              t = ofi.read(1) 
 +                                              pre = False 
 +                                              obFichier.write('</​pre>'​)  
 +                                          else : 
 +                                              obFichier.write('</​file'​)  
 +                                      else : 
 +                                          obFichier.write('</​fil'​)  
 +                                  else : 
 +                                      obFichier.write('</​fi'​)  
 +                              else : 
 +                                  obFichier.write('</​f'​)  
 +                          else : 
 +                              obFichier.write('</'​)  
 +                      else : 
 +                          obFichier.write('<'​)  
 +                  else : # a suprimer ? 
 +                      a = 0 
 +              elif pre==False and nowiki==True : 
 +                  if t == '<'​ :​ #</​nowiki>​ 
 +                      t = ofi.read(1) 
 +                      if t == '/'​ : 
 +                          t = ofi.read(1) 
 +                          if t == '​n'​ : 
 +                              t = ofi.read(1) 
 +                              if t == '​o'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t == '​w'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t == '​i'​ : 
 +                                          t = ofi.read(1) 
 +                                          if t == '​k'​ : 
 +                                              t = ofi.read(1) 
 +                                              if t == '​i'​ : 
 +                                                  t = ofi.read(1) 
 +                                                  if t == '>'​ : 
 +                                                      t = ofi.read(1) 
 +                                                      nowiki = False 
 +                                                      obFichier.write('</​nowiki>'​)  
 +                                                  else : 
 +                                                      obFichier.write('</​nowiki'​)  
 +                                              else : 
 +                                                  obFichier.write('</​nowik'​)  
 +                                          else : 
 +                                              obFichier.write('</​nowi'​)  
 +                                      else : 
 +                                          obFichier.write('</​now'​)  
 +                                  else : 
 +                                      obFichier.write('</​no'​)  
 +                              else : 
 +                                  obFichier.write('</​n'​)  
 +                          elif t=='​p'​ : 
 +                              t = ofi.read(1) 
 +                              if t=='​r'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t=='​e'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t=='>'​ : 
 +                                          nowiki = False  
 +                                          t = ofi.read(1) 
 +                                          obFichier.write('​ /pre ') 
 +                                      else : 
 +                                          obFichier.write('</​pre'​)  
 +                                  else : 
 +                                      obFichier.write('</​pr'​)  
 +                              else : 
 +                                  obFichier.write('</​p'​) 
 +                          else : 
 +                              obFichier.write('</'​)  
 +                      else : 
 +                          obFichier.write('<'​)  
 +                  else : # a suprimer ? 
 +                      a = 0 
 +              elif chasse == True : 
 +                  if t == '​\''​ : # chasse fixe ''​ > </​nowiki>​ 
 +                      t = ofi.read(1) 
 +                      if t == '​\''​ : 
 +                          chasse = False 
 +                          obFichier.write('</​nowiki>'​) 
 +                          t = ofi.read(1) 
 +                      else : 
 +                          obFichier.write('​\''​) 
 +              elif pre==False and nowiki==False ​ and indent==False and chasse==False : 
 +                  if t == '<'​ : # <​nowiki>​ > <​nowiki>​ 
 +                      t = ofi.read(1) 
 +                      if t == '​n'​ : 
 +                          t = ofi.read(1) 
 +                          if t == '​o'​ : 
 +                              t = ofi.read(1) 
 +                              if t == '​w'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t == '​i'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t == '​k'​ : 
 +                                          t = ofi.read(1) 
 +                                          if t == '​i'​ : 
 +                                              t = ofi.read(1) 
 +                                              if t == '>'​ : 
 +                                                  nowiki = True  
 +                                                  t = ofi.read(1) 
 +                                                  obFichier.write('<​nowiki>'​)  
 +                                          else : 
 +                                              obFichier.write('<​nowiki'​)  
 +                                      else : 
 +                                          obFichier.write('<​nowik'​)  
 +                                  else : 
 +                                      obFichier.write('<​nowi'​)  
 +                              else : 
 +                                  obFichier.write('<​now'​)  
 +                          else : 
 +                              obFichier.write('<​n'​) 
 +                      elif t=='​p'​ : # <pre> > pre : doit etre inutilisé 
 +                          t = ofi.read(1) 
 +                          if t=='​r'​ : 
 +                              t = ofi.read(1) 
 +                              if t=='​e'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t=='>'​ : 
 +                                      nowiki = True  
 +                                      t = ofi.read(1) 
 +                                      obFichier.write('​ pre ') 
 +                                  else : 
 +                                      obFichier.write('<​pre'​)  
 +                              else : 
 +                                  obFichier.write('<​pr'​)  
 +                          else : 
 +                              obFichier.write('<​p'​) 
 +                      elif t=='​c'​ :​ #​preformaté <code xx> > <​pre>​ 
 +                          t = ofi.read(1) 
 +                          if t=='​o'​ : 
 +                              t = ofi.read(1) 
 +                              if t=='​d'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t=='​e'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t==' ' : 
 +                                          while t!='>'​ : 
 +                                              t = ofi.read(1) 
 +                                      if t=='>'​ : 
 +                                          t = ofi.read(1) 
 +                                          obFichier.write('​\n<​pre>'​) 
 +                                          pre = True 
 +                                      else : 
 +                                          obFichier.write('<​code'​)  
 +                                  else : 
 +                                      obFichier.write('<​cod'​)  
 +                              else : 
 +                                  obFichier.write('<​co'​) 
 +                          else : 
 +                              obFichier.write('<​c'​) 
 +                      elif t=='​f'​ :​ #​preformaté <file xx> > <​pre>​ 
 +                          t = ofi.read(1) 
 +                          if t=='​i'​ : 
 +                              t = ofi.read(1) 
 +                              if t=='​l'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t=='​e'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t==' ' : 
 +                                          while t!='>'​ : # epuise les caractere apres un blanc 
 +                                              t = ofi.read(1) 
 +                                      if t=='>'​ : 
 +                                          t = ofi.read(1) 
 +                                          obFichier.write('​\n<​pre>'​) 
 +                                          pre = True 
 +                                      else : 
 +                                          obFichier.write('<​file'​)  
 +                                  else : 
 +                                      obFichier.write('<​fil'​)  
 +                              else : 
 +                                  obFichier.write('<​fi'​) 
 +                          else : 
 +                              obFichier.write('<​f'​) 
 +                      elif t=='​d'​ :​ #​souligné <del> > <s> 
 +                          t = ofi.read(1) 
 +                          if t=='​e'​ : 
 +                              t = ofi.read(1) 
 +                              if t=='​l'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t=='>'​ : 
 +                                      t = ofi.read(1) 
 +                                      obFichier.write('<​s>'​) 
 +                                  else : 
 +                                      obFichier.write('<​del'​)  
 +                              else : 
 +                                  obFichier.write('<​de'​)  
 +                          else : 
 +                              obFichier.write('<​d'​) 
 +                      elif t=='/'​ :​ #​souligné </​del>​ > </​s>​ 
 +                          t = ofi.read(1) 
 +                          if t=='​d'​ : 
 +                              t = ofi.read(1) 
 +                              if t=='​e'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t=='​l'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t=='>'​ : 
 +                                          t = ofi.read(1) 
 +                                          obFichier.write('</​s>'​) 
 +                                      else : 
 +                                          obFichier.write('</​del'​)  
 +                                  else : 
 +                                      obFichier.write('<​de'​)  
 +                              else : 
 +                                  obFichier.write('</​d'​) 
 +                          else : 
 +                              obFichier.write('</'​) #​ il n'y avait que '/'​ : et mediawiki n'​aprecie pas un /code> !! </​code>​ n'est pas decodé mais sort par la en commancant comme </​c>​ 
 +                      else : 
 +                          obFichier.write('<'​) 
 +                  elif t == '​*'​ : #gras 
 +                      t = ofi.read(1) 
 +                      if t == '​*'​ : 
 +                          obFichier.write('​\'​\'​\''​) #​pas besoin d'​imbriquer puisque * seul n'a pas a être decodé 
 +                          t = ofi.read(1) #remet un caractere sinon un * de trop sera ecrit 
 +                      else :  
 +                          obFichier.write('​*'​) 
 +                  elif t == '​h'​ : # transmet http:// sans decoder le // comme italique 
 +                      obFichier.write(t) 
 +                      t = ofi.read(1) 
 +                      if t == '​t'​ : 
 +                          obFichier.write(t) 
 +                          t = ofi.read(1) 
 +                          if t == '​t'​ : 
 +                              obFichier.write(t) 
 +                              t = ofi.read(1) 
 +                              if t == '​p'​ : 
 +                                  obFichier.write(t) 
 +                                  t = ofi.read(1) 
 +                                  if t == ':'​ : 
 +                                      obFichier.write(t) 
 +                                      t = ofi.read(1) 
 +                                      if t == '/'​ : 
 +                                          obFichier.write(t) 
 +                                          t = ofi.read(1) 
 +                                          if t == '/'​ : 
 +                                              obFichier.write(t) 
 +                                              t = ofi.read(1) 
 +                  elif t == '/'​ :​ #​italique 
 +                      t = ofi.read(1) 
 +                      if t == '/'​ : 
 +                          obFichier.write('​\'​\''​) 
 +                          t = ofi.read(1) 
 +                      else :  
 +                          obFichier.write('/'​) 
 +                  elif t == '​_'​ :​ #​souligné 
 +                      t = ofi.read(1) 
 +                      if t == '​_'​ : 
 +                          if souligne==False : 
 +                              souligne = True 
 +                              obFichier.write('<​u>'​) 
 +                          else : 
 +                              souligne = False 
 +                              obFichier.write('</​u>'​) 
 +                          t = ofi.read(1) 
 +                      else :  
 +                          obFichier.write('​_'​) 
 +                  elif t == '​\''​ : # chasse fixe ''​ > <​nowiki>​ 
 +                      t = ofi.read(1) 
 +                      if t == '​\''​ : 
 +                          chasse = True 
 +                          obFichier.write('<​nowiki>'​) 
 +                          t = ofi.read(1) 
 +                      else : 
 +                          obFichier.write('​\''​) 
 +                  elif t == '​='​ :​ #​titres 
 +                      t = ofi.read(1) 
 +                      if t == '​='​ : 
 +                          t = ofi.read(1) 
 +                          if t == '​='​ : 
 +                              t = ofi.read(1) 
 +                              if t == '​='​ : 
 +                                  t = ofi.read(1) 
 +                                  if t == '​='​ : 
 +                                      t = ofi.read(1) 
 +                                      if t == '​='​ : 
 +                                          t = ofi.read(1) # sans ce read il restait un = a transmettre en trop 
 +                                          if titre == False : 
 +                                              obFichier.write('<​!--'​) 
 +                                              titre = True 
 +                                          else : 
 +                                              obFichier.write('​-->'​) 
 +                                              titre = False 
 +                                      else :  
 +                                          obFichier.write('​=='​) 
 +                                  else : 
 +                                      obFichier.write('​==='​) 
 +                              else : 
 +                                  obFichier.write('​===='​) 
 +                          else : 
 +                              obFichier.write('​====='​)  
 +                      else : 
 +                          obFichier.write('​='​) # pour transmetre un = seul 
 +                  elif t == '​['​ : #[[ http...|...]] > [http... ...] liens externes  
 +                      t = ofi.read(1) 
 +                      if t == '​['​ : 
 +                          t = ofi.read(1) 
 +                          if t == ' ' : # un blanc eventuel sera perdu , mais n'​empechera pas de comprendre http 
 +                              t = ofi.read(1) 
 +                          if t == '​h'​ : 
 +                              t = ofi.read(1) 
 +                              if t == '​t'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t == '​t'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t == '​p'​ : 
 +                                          obFichier.write('​[http'​) 
 +                                          t = ofi.read(1) 
 +                                          while t!='​|'​ and t!='​]'​ : 
 +                                              obFichier.write(t) 
 +                                              t = ofi.read(1) 
 +                                          if t == '​|'​ : 
 +                                              obFichier.write('​ ') 
 +                                              t = ofi.read(1) 
 +                                              while t != '​]'​ : 
 +                                                  obFichier.write(t) 
 +                                                  t = ofi.read(1) 
 +                                          obFichier.write(t) 
 +                                          t = ofi.read(1) 
 +                                          if t == '​]'​ : 
 +                                              t = ofi.read(1) 
 +                                      else : 
 +                                          obFichier.write('​[[htt'​) 
 +                                          while t != '​]'​ : 
 +                                              obFichier.write(t) 
 +                                              t = ofi.read(1) 
 +                                          obFichier.write('​]'​) 
 +                                          t = ofi.read(1) 
 +                                          if t == '​]'​ : 
 +                                              obFichier.write('​]'​) 
 +                                              t = ofi.read(1) 
 +                                  else : 
 +                                      obFichier.write('​[[ħt'​) 
 +                                      while t != '​]'​ :​ #​transmet entierement jusqu'​a ]] 
 +                                          obFichier.write(t) 
 +                                          t = ofi.read(1) 
 +                                      obFichier.write('​]'​) 
 +                                      t = ofi.read(1) 
 +                                      if t == '​]'​ : 
 +                                          obFichier.write('​]'​) 
 +                                          t = ofi.read(1) 
 +                              else : 
 +                                  obFichier.write('​[[h'​) 
 +                                  while t != '​]'​ : 
 +                                      obFichier.write(t) 
 +                                      t = ofi.read(1) 
 +                                  obFichier.write('​]'​) 
 +                                  t = ofi.read(1) 
 +                                  if t == '​]'​ : 
 +                                      obFichier.write('​]'​) 
 +                                      t = ofi.read(1) 
 +                          else : 
 +                              obFichier.write('​[['​) 
 +                              while t != '​]'​ : 
 +                                  obFichier.write(t) 
 +                                  t = ofi.read(1) 
 +                              obFichier.write('​]'​) 
 +                              t = ofi.read(1) 
 +                              if t == '​]'​ : 
 +                                  obFichier.write('​]'​) 
 +                                  t = ofi.read(1) 
 +                      else : 
 +                          obFichier.write('​['​) 
 +                  elif t == '​{'​ : # {{ http...?​...}} > http... ... images externe 
 +                      t = ofi.read(1) 
 +                      if t == '​{'​ : 
 +                          t = ofi.read(1) 
 +                          if t == ' ' : # un blanc eventuel sera perdu , mais n'​empechera pas de comprendre http 
 +                              t = ofi.read(1) 
 +                          if t == '​h'​ : 
 +                              t = ofi.read(1) 
 +                              if t == '​t'​ : 
 +                                  t = ofi.read(1) 
 +                                  if t == '​t'​ : 
 +                                      t = ofi.read(1) 
 +                                      if t == '​p'​ : 
 +                                          obFichier.write('​http'​) 
 +                                          t = ofi.read(1) 
 +                                          while t!='?'​ and t!='​}'​ : 
 +                                              obFichier.write(t) 
 +                                              t = ofi.read(1) 
 +                                          if t == '?'​ : 
 +                                              obFichier.write('​ ') 
 +                                              t = ofi.read(1) 
 +                                              while t != '​}'​ : 
 +                                                  obFichier.write(t) 
 +                                                  t = ofi.read(1) 
 +                                              t = ofi.read(1) 
 +                                          if t == '​}'​ : 
 +                                              t = ofi.read(1) 
 +                                      else : 
 +                                          obFichier.write('​[[htt'​) 
 +                                          while t != '​}'​ : 
 +                                              obFichier.write(t) 
 +                                              t = ofi.read(1) 
 +                                          obFichier.write('​]'​) 
 +                                          t = ofi.read(1) 
 +                                          if t == '​}'​ : 
 +                                              obFichier.write('​]'​) 
 +                                              t = ofi.read(1) 
 +                                  else : 
 +                                      obFichier.write('​[[ħt'​) 
 +                                      while t != '​}'​ : 
 +                                          obFichier.write(t) 
 +                                          t = ofi.read(1) 
 +                                      obFichier.write('​]'​) 
 +                                      t = ofi.read(1) 
 +                                      if t == '​}'​ : 
 +                                          obFichier.write('​]'​) 
 +                                          t = ofi.read(1) 
 +                              else : 
 +                                  obFichier.write('​[[h'​) 
 +                                  while t != '​}'​ : 
 +                                      obFichier.write(t) 
 +                                      t = ofi.read(1) 
 +                                  obFichier.write('​]'​) 
 +                                  t = ofi.read(1) 
 +                                  if t == '​}'​ : 
 +                                      obFichier.write('​]'​) 
 +                                      t = ofi.read(1) 
 +                          else : 
 +                              obFichier.write('​[['​) 
 +                              while t != '​}'​ : 
 +                                  obFichier.write(t) 
 +                                  t = ofi.read(1) 
 +                              obFichier.write('​]'​) 
 +                              t = ofi.read(1) 
 +                              if t == '​}'​ : 
 +                                  obFichier.write('​]'​) 
 +                                  t = ofi.read(1) 
 +                      else : 
 +                          obFichier.write('​{'​) 
 +                  elif t == '^' or t=='​|'​ : # tableau 
 +                      if tableau == False and premier == True : 
 +                          tableau = True 
 +                          if t=='^' : 
 +                              ​obFichier.write('​{class=\"​wikitable\"​\n|-\n! ') 
 +                          else : 
 +                              obFichier.write('​{class=\"​wikitable\"​\n|-\n') 
 +                          t = ofi.read(1) 
 +                      elif tableau == True : 
 +                          u = ofi.read(1) 
 +                          while u == ' ' : 
 +                              u = ofi.read(1) 
 +                          if u!='​\n'​ : 
 +                              if t=='​^'​ : 
 +                                  obFichier.write('​\n! ') 
 +                              else : 
 +                                  obFichier.write('​\n') 
 +                              t = u 
 +                          else : 
 +                              t = ofi.read(1) 
 +                              if t=='^' or t=='|' : 
 +                                  obFichier.write('​\n|-') 
 +                              ​else ​: 
 +                                  tableau = False 
 +                                  obFichier.write('​\n|}'​) 
 +                  else : 
 +                      a = 0 
 +          premier = False 
 +          if t != '​\n'​ : #evite de bouffer le \n 
 +              obFichier.write( t ) # ecrit 1 caractere de la ligne  
 +              t = ofi.read(1) 
 +      obFichier.write( t ) # ecrit le dernier quand while arrete donc le \n 
 +      t = ofi.read(1) 
 +  ofi.close() ​     
 +  obFichier.close() 
 +   
 +   
 +   
 +   
 +   
bac_a_sable.txt · Dernière modification: 2014/06/21 11:24 par moissan