Verificador de CNPJ para Zope
Publicado por Cleber J Santos 01/12/2008
[ Hits: 6.931 ]
Download VerificadorDeCnpjParaZope.py
Uma mistura do código do amigo Pedro Werneck em http://www.pythonbrasil.com.br/moin.cgi/VerificadorDeCpf e do amigo Michel Thadeu Sabchuk em http://www.pythonbrasil.com.br/moin.cgi/VerificadorDeCnpj.
O script pode ser utilizado diretamente na ZMI ao invés de ter que criar um External Method ;)
## Script (Python) "valida_CNPJ" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=cnpj ##title= ## """ Baseado nos códigos de Pedro Werneck e Michel Thadeu Sabchuk http://www.pythonbrasil.com.br/moin.cgi/VerificadorDeCpf http://www.pythonbrasil.com.br/moin.cgi/VerificadorDeCnpj Adaptado para o Zope por Cleber J Santos http://www.pythonbrasil.com.br/moin.cgi/VerificadorDeCnpjParaZope """ cnpj = context.REQUEST.get('cnpj',None) cnpj_invalidos = [15*str(i) for i in range(10)] if not cnpj.isdigit(): """ Verifica se o CPF contem pontos, hifens e Barras """ cnpj = cnpj.replace(".", "") cnpj = cnpj.replace("-", "") cnpj = cnpj.replace("/", "") if (not cnpj) or (len(cnpj) < 14): return False elif cnpj in cnpj_invalidos: return False else: """ Pega apenas os 12 primeiros dígitos do CNPJ e gera os 2 dígitos que faltam """ inteiros = map(int, cnpj) novoCnpj = inteiros[:12] prod = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] while len(novoCnpj) < 14: r = sum([x*y for (x, y) in zip(novoCnpj, prod)]) % 11 if r > 1: f = 11 - r else: f = 0 novoCnpj.append(f) prod.insert(0, 6) """ Se o número gerado coincidir com o número original, é válido """ if novoCnpj == inteiros: return bool(novoCnpj == inteiros) return False
Nenhum comentário foi encontrado.
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Conheça o Octopi, outro frontend para o Pacman com acesso ao ARU (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Como compilar o DOOM RETRO no Linux
Stacer - um otimizador gráfico básico de Linux
Corrigindo o erro de "WARNING: Possibly missing firmware for module" no Arch Linux
Ubuntu simplesmente morreu (5)
Eu estou com problemas para usar o QBASIC no Dosbox X (0)
Como personalizar meu Linux Mint xfce? (9)