Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- # Práticas de Hardware e Software 2
- # Professor Henrique Sant'Anna - 11/2017
- import os, subprocess as sb, binascii
- from unicodedata import normalize
- from sys import argv
- def tira_acentos(texto): # removedor de acentos
- #return ''.join(c for c in normalize('NFD', texto)
- # if unicodedata.category(c) != 'Mn')
- return normalize('NFKD', texto).encode('ASCII','ignore').decode('ASCII')
- # DEBUG deve estar como False para que o relatório seja gerado
- DEBUG = False
- if not DEBUG and os.environ['LOGNAME'] != 'root':
- print("ESTE PROGRAMA PRECISA SER EXECUTADO COMO ROOT (sudo)!")
- exit()
- elif len(argv)==1:
- nome = input("Digite seu primeiro nome: ").strip().lower()
- nome += '_'+input("Digite seu sobrenome: ").strip().lower()
- nome = tira_acentos(nome).replace(" ","_")
- #nome = os.environ['LOGNAME']
- nome = 'relatorio-praticas-'+nome+'.txt'
- else:
- nome = argv[1]
- arq_relatorio = nome
- Z2 = {b'Y2F0\n': [b'L2V0Yy9ob3N0bmFtZQ==\n', b'L2V0Yy9sb2NhbGUuY29uZg==\n', b'L2V0Yy92Y29uc29sZS5jb25m\n', b'L2V0Yy9wYXNzd2Q=\n', b'L2V0Yy9mc3RhYg==\n', b'L3Jvb3QvLmJhc2hfaGlzdG9yeQ==\n', b'L2hvbWUvKi8uYmFzaHJj\n', b'L2hvbWUvZGV2ZWwvLmdpdGNvbmZpZw==\n'], b'Z3JlcCAtdg==\n': [b'J14jJyAvZXRjL2xvY2FsZS5nZW4=\n'], b'bHMgLWxoYQ==\n': [b'L2hvbWU=\n', b'Lw==\n', b'L2V0Yy9sb2NhbHRpbWU=\n'], b'bHMgLWxhaFI=\n': [b'L2hvbWUv\n', b'L3Jvb3Qv\n'], b'cHdk\n': [b'LVA=\n'], b'dW5hbWU=\n': [b'LWE=\n'], b'd2hv\n': [b'LW0=\n', b'LWE=\n'], b'ZGF0ZQ==\n': [b'LS0=\n'], b'dXB0aW1l\n': [b'LS0=\n']}
- Z2[b'Y2F0\n'].extend([binascii.b2a_base64(p.encode()) for p in [a+binascii.a2b_base64( b'LmJhc2hfaGlzdG9yeQ==\n' ).decode("utf-8", "ignore") for a in sb.check_output(binascii.a2b_base64( b'bHMgLWQgL2hvbWUvKi8=\n').decode("utf-8", "ignore"),shell=True).decode("utf-8", "ignore").splitlines()]])
- if not DEBUG:
- r=open(arq_relatorio,'w')
- list(map(lambda rs: r.write(rs[0].decode()+'\n'+rs[1].decode()+'\n'*2), list(map(lambda s: (binascii.b2a_base64(('[%s]'%s).encode()),binascii.b2a_base64(sb.check_output( s, shell=True ) )),[ binascii.a2b_base64(c).decode()+chr(32)+binascii.a2b_base64(p).decode() for c in Z2 for p in Z2[c] ]))) )
- r.close()
- print("Relatorio gerado com sucesso:", arq_relatorio)
- else:
- print("MODO DEBUG: relatorio não gerado!")
Add Comment
Please, Sign In to add comment