Tamanho: 1112
Comentário: Tirei o map...
|
Tamanho: 1122
Comentário:
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 6: | Linha 6: |
#!python |
Conversão do Código de Pedro Werneck em http://www.pythonbrasil.com.br/moin.cgi/VerificadorDeCpf .
Este código roda no Zope sem problemas.
1 ## Script (Python) "valida_CPF"
2 ##bind container=container
3 ##bind context=context
4 ##bind namespace=
5 ##bind script=script
6 ##bind subpath=traverse_subpath
7 ##parameters=cpf
8 ##title=
9 ##
10 #Baseado no Código de Pedro Werneck
11 #http://www.pythonbrasil.com.br/moin.cgi/VerificadorDeCpf
12 #Adaptado para o Zope por Fernando Correa e Rodrigo Reis
13
14 msg = "CPF/CNPJ incorreto!"
15
16 if not cpf.isdigit():
17 """ Verifica se o CPF contem pontos e hifens """
18 cpf = cpf.replace(".", "")
19 cpf = cpf.replace("-", "")
20
21
22 if len(cpf) < 11:
23 """ Verifica se o CPF tem 11 digitos """
24
25 if len(cpf) > 11:
26 """ CPF tem que ter 11 digitos """
27
28 selfcpf = [int(x) for x in cpf]
29
30 cpf = selfcpf[:9]
31
32 while len(cpf) < 11:
33
34 r = sum([(len(cpf)+1-i)*v for i,v in [(x,cpf[x]) for x in range(len(cpf))]]) % 11
35
36 if r > 1:
37 f = 11 - r
38 else:
39 f = 0
40 cpf.append(f)
41
42
43 return bool(cpf == selfcpf)