Created
July 7, 2017 11:43
-
-
Save g4rcez/2e61be41e85c1de190c23ec9e4483d17 to your computer and use it in GitHub Desktop.
Modelo Python para auxiliar o programador em seus novos scripts, tendo algumas classes prontas para auxilio
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
# Desenvolvido por: Cable | |
import os, platform, locale, sys | |
try: | |
# Realização de imports não built-in | |
import string, re | |
from urllib.parse import urlparse | |
except: | |
os.system('sudo pip3 install -r requisitos.txt') | |
locale.setlocale(locale.LC_ALL, '') | |
class Estilos(): | |
vermelho = '\033[31m' | |
verde = '\033[32m' | |
azul = '\033[34m' | |
ciano = '\033[36m' | |
magenta = '\033[35m' | |
amarelo = '\033[33m' | |
preto = '\033[30m' | |
branco = '\033[37m' | |
original = '\033[0;0m' | |
reverso = '\033[2m' | |
default = '\033[0m' | |
class OS(): | |
sistema = platform.system() | |
hostname = platform.node() | |
def basename(stdin): | |
return Stdin.array2String(stdin).split('/')[-1] | |
class Msg(): | |
def getMsg(idmsg): | |
linguagem = locale.getdefaultlocale()[0].lower() | |
if linguagem == 'pt_br': | |
Msg.msgBR(idmsg) | |
else: | |
Msg.msgEN(idmsg) | |
def msgBR(idmsg): | |
brDict = {"index" : "IndexMsg em português", | |
'help': """\rMenu de ajuda: | |
\rEste é um padrão de script para auxiliar os desenvolvedores | |
\rda UnameCorporation e comunidade com algumas funções já | |
\rimplementadas, facilitando o desenvolvimento. | |
\r\n\tClasse Estilos: acrescenta cores predefinidas no output do script. | |
\r\tPode ser usada também para implementar negrito, itálico, sublinhado, | |
\r\talerta e outros estilos permitidos pela Shell | |
\r\n\tClasse OS: possui atributos com a plataforma do sistema(se é Linux, | |
\r\tWindows, MacX...), hostname, versão do sistema (Arch, Ubuntu, Debian, | |
CentOS...). | |
\r\n\tClasse Msg: *Utilizar apenas o método getMsg.* Definir o dicionário | |
\r\tde mensagens nos métodos msgBR para mensagens em português e msgEN | |
\r\tpara mensagens em inglês. | |
\r\n\tClasse Stdin: filtra argumentos de acordo com seus métodos. Pode filtrar | |
e obter o valor de um argumento passado, apenas inforar se existe ou não | |
\r\to argumento pesquisado, retornar todo o argumento como uma string única | |
"""} | |
print(brDict[idmsg]) | |
def msgEN(idmsg): | |
enDict = {"index" : "IndexMsg in english", | |
'help' : 'Show the help menu'} | |
print(enDict[idmsg]) | |
class Stdin(): | |
def getOptAndValue(stdin, parametros): | |
try: | |
for flag in stdin: | |
if flag in parametros: | |
return stdin[stdin.index(flag) + 1] | |
except: | |
return None | |
def getOpt(stdin, parametros): | |
try: | |
for flag in stdin: | |
if flag in parametros: | |
return True | |
except: | |
return False | |
def array2String(stdin): | |
try: | |
return ' '.join(stdin) | |
except: | |
return None | |
def array2StringWithJoin(stdin, joinStr): | |
try: | |
return joinStr.join(stdin) | |
except: | |
return None | |
def string2Array(stdin): | |
try: | |
return stdin.split(' ') | |
except: | |
return None | |
def string2ArrayWithSplit(stdin, separador): | |
try: | |
return stdin.split(separador) | |
except: | |
return None | |
namescript = sys.argv[0] | |
stdin = sys.argv[1:] | |
# Filtrar o nome caso seja executado com ./ | |
try: | |
namescript = namescript.split('/')[1] | |
except: | |
pass | |
Msg.getMsg('help') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment