def test_print(i): if i.wd == 1: print_ascii("Importation " + i) whatisit(i.wd) else: log_print( "rien n'a faire, événement d'un dossier fils wd : %d" % (i.wd), i)
def log_print(*text): """ Fonction de login automatique """ f_log = codecs.open(fichier_log, "a", encoding="utf-8") d = datetime.datetime.now().strftime("%a, %Y-%m-%d %X ") for t in text: if console == True: print_ascii(t) l = d + unicode(t) + "\n" f_log.writelines(l) f_log.close()
def __str__(self): print_ascii(__doc__)
def main(): signal.signal(signal.SIGINT, sig_iterrupt) connection_db_ouverte = False try: imp = {} i = {} imp.update({"sap": i}) i.update({"nom": "Navette SAP"}) i.update({"dossier": dossier_import_navette_sap}) i.update({"fonction": gestion_importation_sap}) i.update({ "thread": ImportThread(nom=imp["sap"]["nom"], dossier=imp["sap"]["dossier"], fonction=imp["sap"]["fonction"]) }) imp["sap"]["thread"].start() i = {} imp.update({"vincent": i}) i.update({"nom": "Solution Vincent"}) i.update({"dossier": dossier_import_solution_vincent}) i.update({"fonction": gestion_importation_vincent}) i.update({ "thread": ImportThread(nom=imp["vincent"]["nom"], dossier=imp["vincent"]["dossier"], fonction=imp["vincent"]["fonction"]) }) imp["vincent"]["thread"].start() i = {} imp.update({"generic": i}) i.update({"nom": "Fichier generic"}) i.update({"dossier": dossier_import_generic}) i.update({"fonction": gestion_importation_generic}) i.update({ "thread": ImportThread(nom=imp["generic"]["nom"], dossier=imp["generic"]["dossier"], fonction=imp["generic"]["fonction"]) }) imp["generic"]["thread"].start() sig = {} sig.update({"stop": False}) while sig["stop"] == False: for i in imp.keys(): imp[i]["thread"].join_with_exception() list_fichier = os.listdir(imp[i]["dossier"]) if len(list_fichier) > 2: for f in list_fichier: print_ascii(f) if os.path.isfile(os.path.join(imp[i]["dossier"], f)): log_print(":-( Fichier sans signal dans %s: %s" % (imp[i]["nom"], f)) e = MyEvent() e.name = f e.path = imp[i]["dossier"] e.pathname = os.path.join(imp[i]["dossier"], f) imp[i]["fonction"](e) connection_db_ouverte = True time.sleep(2) # break if connection_db_ouverte == True: log_print("Fermeture de la connection sur la base de donnée") connection.close() connection_db_ouverte = False time.sleep(300) connection.close() arret_importation(imp) except: tb = traceback.format_exc() log_print("!!!!! ERREUR !!!!!") log_print(tb) log_print("!!!!! ERREUR !!!!!\n\n") log_print("Erreur => arrêt deamon") mail_corps = "Le daemon d'importation des fichier à craché\nToutes les importations sont stoppé\n\n" mail_corps = "Consulter les log : tail -n30 /var/log/django_io.log \n" mail_corps = "Arrêter le daemon totalement : /var/www/django/prod/daemon/django_io.bash force-stop \n\n" mail_corps = "Redemmarrer le daemon : /var/www/django/prod/daemon/django_io.bash start \n" mail_corps = " : \n" mail_corps += tb m = mail.Mail(mail_corps) m.from_("*****@*****.**") m.reply_to("*****@*****.**") #m.to(["*****@*****.**","*****@*****.**"]) m.to(["*****@*****.**", "*****@*****.**"]) if version.status_developement["data"] == "prod": m.subject("Stock Labo Paris, Erreur importation de fichier") else: m.subject( "Ne pas tenir compte de cette email, je fait des tests sur le serveur, charly" ) #m.send("smtp.laposte.net", "*****@*****.**", "charly.gontero", "1Addyson") m.send(smtp="par-srv-cas01.eu.takasago.com", expediteur="*****@*****.**", user=None, password=None, starttls=False) arret_importation(imp) log_print("Deamon stoppé") exit(0)