def main(argv=None): """ Executes the main pytuga program in the console. """ if len(sys.argv) <= 1: return start_ipytuga() # Process arguments parser = argparse.ArgumentParser(description='Executa código Pytuguês') parser.add_argument( 'arquivo', help='nome do arquivo a ser executado') parser.add_argument( '--mostre-python', '-P', help='mostra conversão do arquivo para Python na tela', action='store_const', const=True) parser.add_argument( '--python', '-p', metavar='ARQUIVO', help='salva conversão para Python no caminho especificado') parser.add_argument( '--versão', '-v', help='mostra a versão do interpretador de pytuguês', action='version', version='Pytuga %s' % version) # parser.add_argument('--warning', '-w', action='store_const', # help='ativa avisos de compatibilidade com o python') args = parser.parse_args(argv) # Process errors if not os.path.exists(args.arquivo): raise SystemExit('O arquivo %s não existe!' % args.arquivo) if os.path.splitext(args.arquivo)[1] != '.pytg': print('Aviso: Pytuga deve processar apenas arquivos .pytg!') # Process file if args.mostre_python: with open(args.arquivo) as F: print(to_python(F.read())) elif args.python: with open(args.arquivo) as source: data = to_python(source.read()) with open(args.python, 'w') as dest: dest.write(data) else: with open(args.arquivo) as F: data = F.read() pytuga.init() code = pytuga.compile(data, args.arquivo, 'exec') pytuga.exec(code, {})
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) pytuga.init()