Feb-03-2020, 12:55 PM
(This post was last modified: Feb-03-2020, 12:55 PM by maverick76.)
Still editing sorry
import configparser,os,sys,time,mysql.connector,logging,io,locale,threading,queue
from gen_rapport import *
from multiprocessing import Pool,Lock, Process, Queue, current_process
from threading import Thread
import plotly.graph_objects as go
#Recuperation du fichier conf.ini
Config = configparser.ConfigParser()
Config.read(sys.argv[1])
num_process=sys.argv[2]
# print('proc='+num_process)
robotfolder=Config.get('dossier','robotfolder')
#Definition des logs logging.info('') et redirection de laffichage et des erreurs dans le fichier de log
log_path=Config.get('dossier','log_path')
log_file=Config.get('dossier','log_file')
logging.basicConfig(filename=log_path+log_file, filemode='w',level=logging.INFO,format='%(levelname)s:%(message)s')
f = open('data.csv','w')
f.write('nomrapport,time\n')
f.flush()
# sys.stdout = f
# sys.stderr = f
#Configuration de lutilisateur
NNI=Config.get('credentials','Login_Gardian')
Gardian=Config.get('credentials','MdP_Gardian')
#Configuration de lacces a la base de donnees
mydb = mysql.connector.connect(
host=Config.get('credentials','SQL_IPaddress'),
port=Config.get('credentials','SQL_Port'),
user=Config.get('credentials','SQL_User'),
password=Config.get('credentials','SQL_Password'))
base=Config.get('credentials','SQL_Base')
table=Config.get('credentials','SQL_Table')
max_threads=Config.get('thread','maxthreads')
#Recuperation du nombre darguments pour savoir quelles fonctions on lance
NmbArg = len(sys.argv)
# print(NmbArg)
#Affichage et formatage de la date et heure
locale.setlocale(locale.LC_TIME,'')
today = time.strftime("%d").lstrip("0").replace("0", "")
print('Commencement :'+str(time.asctime()))
tomonth = time.strftime("%B")
tomonth1 = tomonth[:1]
tomonth2 = tomonth[-1:]
toyear = time.strftime("%Y")
today = tomonth1+tomonth2+" "+toyear
def work_log(work_data):
t = robot(NNI,Gardian,work_data[4],work_data[2],work_data[0],work_data[1],work_data[5],work_data[6],today)
print(" Process %s Finished." % work_data[0])
f.write(str(t[0])+','+str(t[1])+'\n')
f.flush()
def pool_handler():
p = Pool(int(num_process))
p.map(work_log, work)
f.close()
if NmbArg == 4:
if __name__ == '__main__':
start = time.time()
#Requete SQL pour recuperer les rapports a jouer
mycursor = mydb.cursor()
mycursor.execute("SELECT NomRapport,xlsfile,ImportFolder2,Type,ID,MinSize, Invites FROM "+base+"."+table+" where Type LIKE '%"+sys.argv[3]+"%' AND Executer='OUI'")
#mycursor.execute("SELECT NomRapport,xlsfile,ImportFolder2,Type,ID, MinSize, Invites FROM "+base+"."+table+" where Type LIKE '%BI%' AND Executer='OUI'")
print(("requete SELECT NomRapport,xlsfile,ImportFolder2,Type,ID,MinSize, Invites FROM "+base+"."+table+" where Type='"+sys.argv[3]+"' AND Executer='OUI'"))
myresult = mycursor.fetchall()
work = ()
for rapports in myresult:
NomRapport=rapports[0]
xlsfile=rapports[1]
ImportFolder=rapports[2]
ID=rapports[4]
MinSize=rapports[5]
Invites=rapports[6]
work = work + (rapports,)
pool_handler()
print("Fin:"+str(time.asctime()))
else:
print('Usage : createbi.exe conf.ini PCA; ou bien createbi.exe conf.ini ID,ImportFolder,xlsfile,(Invites)')Output:PS C:\Users\d74074\Documents\Devs\Python\BIV6> python .\createbi.py .\conf.ini 6 BI
Commencement :Mon Feb 3 13:39:40 2020
requete SELECT NomRapport,xlsfile,ImportFolder2,Type,ID,MinSize, Invites FROM tabatta.l_app_createbi where Type='BI' AND Executer='OUI'
Commencement :Mon Feb 3 13:39:45 2020
Fichier present:BI6_CauseFigeageTardif
C:\Users\d74074\Documents\Devs\Python\BIV6\Imports\figeagetardif\PAL-tabatta_tot_cause_figeage_tardif.csv
Commencement :Mon Feb 3 13:39:45 2020
Fichier present:BI6_GenCloture
C:\Users\d74074\Documents\Devs\Python\BIV6\Imports\BITOTTypeCloture\PAL-Tabatta_BI_-_TOT_-_TypeCloture.csv
Commencement :Mon Feb 3 13:39:45 2020
doesnt exist:BI6_GenCompl2340
Commencement :Mon Feb 3 13:39:45 2020
doesnt exist:BI6_Gencomplt340
Commencement :Mon Feb 3 13:39:45 2020
doesnt exist:BI6_GenDatesTOT
Commencement :Mon Feb 3 13:39:45 2020
