| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 
 |  
#! /usr/bin/python3.5
# -*-coding:UTF-8 -*
 
 
 # ce code contient des parties excraite de la page
 
# ce script python sera appelé par le script en ligne de
# commande lire_texte_sécectionné, il prend en paramètre de ligne de commande une chaine de caractère
# la parcour et recherche dans la table de caractère spéciaux si il existe une correspondance
# si c'est le cas on remplace le caractère par son nom dans
# la chaine de sortie
 
# ce script prend en paramère une chaine de caractère et remplace les caractère spéciaux par leur nom
# obligation vous ai faite de citer les auteurs
# pour chaque caractère que contient la variable j
		# rechercher si ce dernier est dans le fichier tab_caractère.csv
		# si le caractère est trouvé, alors le remplacer par son nom indiqué dans le ficher et l'envoyer à la systès vocal
# auteur Battant
# licence gpl v3 : ce script est sous licence gpl v3 chaque personne qui travaillle sur ce script aura le droit de ce faire payer ou non pour sa partie
# ce script contient du code extrait de la page : http://stackoverflow.com/questions/8984287/execute-php-code-in-python
import sys, traceback  # ligne issus de : https://docs.python.org/3.5/library/traceback.html
import subprocess
import os
 
def runcommand (command) :
	"""
        
        code extrait de :
        
        https://docs.python.org/3.5/library/subprocess.html
http://stackoverflow.com/questions/2804543/read-subprocess-stdout-line-by-line  """
	output = ""
	try :
		proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
		outputbyte = proc.stdout.read()
		output =  outputbyte.decode()
	except UnicodeEncodeError :	
		print ("Une erreur et survenue lors de la conversion de byte à string",sys.stderr())
		traceback.print_exc(file=sys.stderr) # ligne issus de : https://docs.python.org/3.5/library/traceback.html
	finally :
		return output
output1 = ""
output2 = ""
if __name__ == "__main__" :
	if len(sys.argv) < 2:
		print ("veillez fournir en argument le code source que vous souhauter traiter en le plaçant entre guillement pour qu'il soit compréhensible par un moteur de synthèse vocale")
	else :
		i = 1
		# parcourir la chaine de caractère
		while i < len(sys.argv) :
			# parcourir une chaine après l'autre et examiner chaque caractère
			word = sys.argv[i]
			outputWord = ""
			print ("word=",word)
			for j in word :
				print ("j = ",j )
				if (j == '.') :
					print ("cat point")
					output1 = runcommand("cat tab_carractère_spéciaux.csv | cut -f1 | grep \"\.\"")
				else :
					print ("cat normal")
					output1 = runcommand ("cat tab_carractère_spéciaux.csv | cut -f1 | grep \"{0}\"").format(j)
				if output1 != "" :
					if output1 == (".") :
						print ("grep point : ".output1)
						output2 = runcommand("grep \"{0}\" tab_carractère_spéciaux.csv| cut -f2".format("\."))
					elif output1 != "" :
						print ("grep normal : ",output1)
						output2 = runcommand("grep \"{0}\" tab_carractère_spéciaux.csv| cut -f2".format(output1))
						print ("output 2 : ",output2 )
					outputWord += output2
				else :
					print ("lettre normal : ",output1)
					outputWord += word[i]
			print ("outputWord=",outputWord)
			i += 1 | 
Partager