Verificador de CNPJ para Zope
Publicado por Cleber J Santos 01/12/2008
[ Hits: 7.351 ]
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
Tradutor on-line versão Web!!!
Conversor de String em Hex para String plana
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Ubunto não reconhece rede ethernet (0)
Secure boot, artigo interessante, nada técnico. (3)
Instalação dualboot Windows 11 e Debian 13 (11)









