tis-audit-session-setup-status icon

tis-audit-session-setup-status

Paquet d’installation silencieuse pour tis-audit-session-setup-status

0-26

  • package: tis-audit-session-setup-status
  • version: 0-26
  • maintainer: Tranquilit
  • licence: ©
  • target_os: all
  • architecture: all
  • signature_date:
  • size: 8.64 Ko

package           : tis-audit-session-setup-status
version           : 0-26
architecture      : all
section           : base
priority          : optional
name              : 
categories        : 
maintainer        : Tranquilit
description       : Package for Audit "session-setup" status in sessions
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : all
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : Paquet pour l'audit de l'état "session-setup" dans les sessions
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 1h
editor            : 
keywords          : audit
licence           : ©
homepage          : 
package_uuid      : 76c371b6-8f62-4ce3-a607-9b0edb13c0ec
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 7f00fc99ce8f9f34ed57f77501e4e635afaef7809c99755f6f108cdf53c5f955
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-11-01T22:35:28.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : qFIFbz093sPiWxPBY4Jj5frrUix1my8SKd40v58wmIns6l4LilcADbtcK1Q9cWBPsE9RTF7nr63hdPd9P12yeBcc98uUbcRwCJTNNkTa1Ukr8vXqyoks3gJlk9N1eQLjMoSP4Oln9zzJxqgpRAFet23J8eMYGa/XtTKj1kldolDfAgUB4oxm7phLD948MlRYcLN/2aR/MEkmS0N7J2fBtUKBeyrshQ+kZkP6pCIgDTcT3ECUvlb2FN7JcU1jGEFRc3wyAsIU1+L5VR71NMhfu00OCMRX31oh+tILvq168kA5ryW+fUb2LXRROcO//UfwLIPbBLsbevo8g4U/1WRvBw==

# -*- coding: utf-8 -*-
from setuphelpers import *
import platform

json_file = ".session_setup_user.json"

def install():
    pass

def session_setup():


    dict_package_user={}

    r = WAPT.waptsessiondb.query('select * from  wapt_sessionsetup ')
    for u in r:
       dict_package_user[u['package_uuid']] = u

    data_dict = {}

    in_error = False
    for u in  WAPT.waptpublicdb.query("select distinct l.package , * from wapt_publicstatus l where install_date is not null and uninstall_date is null order by install_date desc"):
        if u['package'] == control.package:
            continue
        public_status = WAPT.waptpublicdb.query('select * from wapt_publicstatus where package_uuid=? and install_date is not null and uninstall_date is null order by install_date desc',[u['package_uuid']],one=True)
        if public_status:
            if public_status.get('setuppy','') and 'def session_setup():' in public_status.get('setuppy','') :
                if u['package_uuid'] in dict_package_user:
                        data_dict[u['package']] = dict_package_user[u['package_uuid']]
                        if not  dict_package_user[u['package_uuid']]['install_status'] in ['OK','RETRY','RERUN']:
                            in_error=True
                else:
                    data_dict[u['package']] = {'package': u['package'], 'version': u['version'], u['architecture']: u['architecture'], 'install_status': 'PENDING'}

    if platform.system() == 'Windows':
        json_path = makepath(os.environ["USERPROFILE"], json_file)
    else:
        json_path = makepath(os.environ['HOME'], json_file)


    # if isfile(json_path):
    #     remove_file(json_path)
    print(f"Writing: {json_path}")
    remove_file(json_path)
    json_write_file(json_path, data_dict)
    set_file_hidden(json_path)
    return "RERUN"

def audit():
    audited_data_user = {}
    audited_data_package = {}
    if platform.system() == 'Windows':
        profs = [u["profile_path"] for u in get_local_profiles() if not r"C:\WINDOWS".lower() in u["profile_path"].lower()]
    else:
        import pwd
        profs = [u.pw_dir for u in pwd.getpwall()]
    for p in profs:
        json_path = makepath(p, json_file)
        if not isfile(json_path):
            #print(f"session-setup have NOT been run for the profile_path: {p}")
            continue
        try:
            user_status = "OK"
            #print(f"session-setup have been run for the profile_path: {p}")
            data_dict = json_load_file(json_path)
            username = [pkg.get("username") for pkg in data_dict.values() if "username" in pkg][0]
            audited_data_user[username] = data_dict
            for u in data_dict:
                if not u in audited_data_package:
                    audited_data_package[u] = {"username":{}, 'status':"OK"}
                audited_data_package[u]['username'][username] = data_dict[u]
                if not data_dict[u]['install_status'] in ['OK','RETRY','RERUN',"PENDING"]:
                    user_status = "ERROR"
                    audited_data_package[u]['status'] = 'ERROR'

            audited_data_user[username] = {"packages":audited_data_user[username],"status":user_status}


        except:
            pass

    audited_data_user = {"users":audited_data_user , "status": "ERROR" if [u for u, ud in audited_data_user.items() if str(ud.get("status", "")).upper() == "ERROR"] else "OK" }
    audited_data_package = {"packages":audited_data_package , "status": "ERROR" if [u for u, ud in audited_data_package.items() if str(ud.get("status", "")).upper() == "ERROR"] else "OK" }

    WAPT.write_audit_data_if_changed("audit-session-setup", "sort_by_user", audited_data_user)
    WAPT.write_audit_data_if_changed("audit-session-setup", "sort_by_package", audited_data_package)


    return "OK"

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
c03551fa047f108a96df85a8a2c0b1d8c53c313c485c2bec50b8c56ab22f8a6b : WAPT/control
7f00fc99ce8f9f34ed57f77501e4e635afaef7809c99755f6f108cdf53c5f955 : WAPT/icon.png
0cf46af05cc2a669f29c5ed335d855d63b3a9f51244b3a3d3f25442179232282 : luti.json
442e6cc82ea8b486074ebc08e1c569459a6ed384c3470b7f7f5784222fd3cdb7 : setup.py