40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
#!/usr/bin/python3
|
|
# Scirpt de ejemplo para almacenear en fichero temporal el listado de software.
|
|
# Nota: se usa como base para el programa de recogida de listado de software de OpenGnsys Admin.
|
|
# Formato: listSoftwareInfo [-r] ndisk npart
|
|
# -r listado reducido (sin parches de Windows)
|
|
|
|
import os
|
|
import sys
|
|
import re
|
|
import argparse
|
|
|
|
import ogGlobals
|
|
import SystemLib
|
|
import InventoryLib
|
|
import NetLib
|
|
|
|
prog = os.path.basename (sys.argv[0])
|
|
|
|
def main (disk, par, reduced):
|
|
ip = NetLib.ogGetIpAddress()
|
|
softfile = f'{ogGlobals.OGLOG}/soft-{ip}-{disk}-{par}'
|
|
software_list = InventoryLib.ogListSoftware (disk, par)
|
|
|
|
if reduced:
|
|
software_list = [line for line in software_list if not re.search (r'(KB[0-9]{6})', line)]
|
|
|
|
with open (softfile, 'w') as f:
|
|
for line in software_list:
|
|
f.write (f'{line}\n')
|
|
|
|
print (softfile)
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser (add_help=False)
|
|
parser.add_argument ('-r', '--reduced', action='store_true', default=False)
|
|
parser.add_argument ('disk')
|
|
parser.add_argument ('par')
|
|
args = parser.parse_args()
|
|
main (args.disk, args.par, args.reduced)
|