Skip to content

Instantly share code, notes, and snippets.

@g4rcez
Created July 7, 2017 11:43
Show Gist options
  • Save g4rcez/2e61be41e85c1de190c23ec9e4483d17 to your computer and use it in GitHub Desktop.
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
#!/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