|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
-
- from datetime import datetime
- import psutil, time, requests
-
- from win10toast import ToastNotifier
- toaster = ToastNotifier()
- from datetime import datetime
- from config import Gotify
-
- datetime.today().strftime('%Y-%m-%d')
-
-
- print("Example : firefox.exe")
- searching_process = input("Veuillez entrer le processus que vous voulez surveillé : ")
-
-
-
- def countdown(founded_process):
- heure_depart = time.time()
- print("Chronometre en marche !")
- print("Process surveillé : " + str(founded_process))
- print("Heure de départ (Secondes): " + str( int(heure_depart) ))
- print("- ")
- print("Laissez cette fenetre ouverte. Vous recevrez une notification lorsque le chronometre s'arretera.")
- while catch_process(searching_process) != None :
- time.sleep(1)
- heure_arret = time.time()
- uptime_process = int(heure_arret) - int(heure_depart)
- heures = 0
- minutes = 0
- secondes = 0
-
- while uptime_process > 3600 :
- uptime_process = uptime_process - 3600
- heures += 1
-
- if heures < 10 :
- heures = '0' + str(heures)
-
- while uptime_process > 60 :
- minutes += 1
- uptime_process = uptime_process - 60
-
- if minutes < 10 :
- minutes = '0' + str(minutes)
- secondes = uptime_process
-
- if secondes < 10 :
- secondes = '0' + str(secondes)
-
-
- send_gotify('NSL ' + searching_process, "Uptime du processus : %s:%s:%s " % (heures, minutes, secondes) )
- print("Uptime du processus : %s:%s:%s " % (heures, minutes, secondes))
- toaster.show_toast("NoSocialLife Counter","Arret du programme : " + searching_process )
- toaster.show_toast("NoSocialLife Counter","Uptime du processus : %s:%s:%s " % (heures, minutes, secondes))
- date = datetime.today().strftime('%d-%m-%Y')
-
- f = open("logs.txt", "a")
- f.write(date + " | Programme : " + searching_process + " | Uptime du processus : %s:%s:%s " % (heures, minutes, secondes))
- f.close()
-
-
- def main():
- toaster.show_toast("NoSocialLife Counter","Programme recherché : " + searching_process )
- process_running = False
- delay = 10
-
- founded_process = catch_process(searching_process)
- if founded_process != None :
- print("Le processus recherché à été trouvé!")
- process_running = True
-
- while process_running == False :
- founded_process = catch_process(searching_process)
- print("Etat de la recherche : " + str(founded_process))
- if founded_process != None :
- print("PROCESS TROUVE !")
- process_running = True
- time.sleep(1)
- countdown(founded_process)
-
-
- def send_gotify(title, message):
- resp = requests.post(Gotify['URL'] + '?token=' + Gotify['token_gotify'] , json={
- "message": message,
- "priority": 2,
- "title": title
- })
-
- def catch_process(searching_process):
- catched = False
- for p in psutil.process_iter(attrs=['pid', 'name']):
- if p.info['name'] == searching_process :
- founded_process = p.info['name']
- catched = True
-
- if catched == False :
- founded_process = None
- return founded_process
-
-
- if __name__ == '__main__':
- try:
- main()
- except:
- print("Une erreur s'est produite durant l'execution du script")
- send_gotify("Erreur ! ", "Une erreur s'est produite durant l'execution du script")
- main()
|