first commit
This commit is contained in:
76
setup.py
Normal file
76
setup.py
Normal file
@@ -0,0 +1,76 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from setuphelpers import *
|
||||
from setupdevhelpers import *
|
||||
import psutil
|
||||
import time
|
||||
import datetime
|
||||
import ctypes
|
||||
|
||||
try:
|
||||
from waptenterprise.waptservice.enterprise import get_active_sessions, start_interactive_process
|
||||
except:
|
||||
from waptservice.enterprise import get_active_sessions, start_interactive_process
|
||||
import win32api
|
||||
import sys
|
||||
import platform
|
||||
|
||||
message_box_title = "Information message about your PC uptime - The IT Support"
|
||||
message_box_string = "The computer need restart for apply update"
|
||||
|
||||
def install():
|
||||
pass
|
||||
|
||||
def audit():
|
||||
|
||||
if reg_key_exists(HKEY_LOCAL_MACHINE,r'SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired'):
|
||||
print("Une mise à jour necéssite un redémarrage")
|
||||
run_session_setup(control.package)
|
||||
return "WARNING"
|
||||
return "OK"
|
||||
|
||||
def session_setup():
|
||||
|
||||
# Avoiding user pop-up spamming
|
||||
# check_timeout = 1800
|
||||
# date_format = "%Y-%m-%d %H:%M:%S" # datetime.datetime.strptime(date_pwsh, "%Y/%m/%d %H:%M:%S")
|
||||
# date = run_powershell('Get-Date -Format "yyyy-MM-dd HH:mm:ss"') # datetime.datetime.now()
|
||||
# date_reg = registry_readstring(HKEY_CURRENT_USER, r"SOFTWARE\WAPT\Shutdown Information", "Last Check")
|
||||
# if date_reg != "":
|
||||
# date_diff = datetime.datetime.strptime(date, date_format) - datetime.datetime.strptime(date_reg, date_format)
|
||||
# if date_diff.total_seconds() < check_timeout:
|
||||
# return "Already checked"
|
||||
# registry_set(HKEY_CURRENT_USER, r"SOFTWARE\WAPT\Shutdown Information", "Last Check", date)
|
||||
# Send message to connected user
|
||||
version = installed_softwares("wapt")[0]["version"]
|
||||
if version > Version("2.5"):
|
||||
print("Envoi du message 2.5")
|
||||
ask_message(message_box_title, message_box_string, flags=0, raise_error=False,)
|
||||
else:
|
||||
print("Envoi du message pre 2.5")
|
||||
message_box(
|
||||
message_box_title,
|
||||
message_box_string
|
||||
)
|
||||
|
||||
def run_session_setup(package_name):
|
||||
for session_id in get_active_sessions():
|
||||
start_interactive_process("wapt-get", "--hide session-setup %s -f" % package_name, session_id=session_id) # , minimize=True
|
||||
|
||||
def message_box(title, text, style=0):
|
||||
if platform.python_version_tuple()[0] == "3":
|
||||
import importlib
|
||||
|
||||
importlib.reload(sys)
|
||||
else:
|
||||
reload(sys)
|
||||
sys.setdefaultencoding("utf-8")
|
||||
|
||||
MB_OK = 0
|
||||
MB_OKCANCEL = 1
|
||||
MB_YESNOCANCEL = 3
|
||||
MB_YESNO = 4
|
||||
ctypes.windll.user32.MessageBoxW(0, "%s" % text, "%s" % title, style)
|
||||
return
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user