def check_ced_ruc(self): for record in self: if record.type_ced_ruc: if record.type_ced_ruc == 'cedula' and not ci.is_valid( record.ced_ruc): raise ValidationError('CI [%s] no es valido !' % record.ced_ruc) elif record.type_ced_ruc == 'ruc' and not ruc.is_valid( record.ced_ruc): raise ValidationError('RUC [%s] no es valido !' % record.ced_ruc)
def check_vat_ec(self, vat): if self.l10n_latam_identification_type_id.is_vat: ruc_vat_type = self.env.ref('ek_l10n_ec.ec_ruc') ced_vat_type = self.env.ref('ek_l10n_ec.ec_dni') if self.l10n_latam_identification_type_id in (ruc_vat_type,ced_vat_type): #temporal fix as stdnum.ec is allowing old format with a dash in between the number if not self.vat.isnumeric(): raise ValidationError(_('Ecuadorian VAT number must contain only numeric characters')) if self.l10n_latam_identification_type_id == ced_vat_type: return ci.is_valid(vat) elif self.l10n_latam_identification_type_id == ruc_vat_type and vat != '9999999999999': return ruc.is_valid(vat) return True
def check_vat_ec(self, vat): try: from stdnum.util import clean from stdnum.ec import ci, ruc except ImportError: return True if self.l10n_latam_identification_type_id.is_vat: vat = clean(vat, ' -.').upper().strip() if self.l10n_latam_identification_type_id.name == 'Ced': return ci.is_valid(vat) elif self.l10n_latam_identification_type_id.name == 'RUC' and vat != '9999999999999': return ruc.is_valid(vat) return True
def __init__(self, inicioCedula, finalCedula, provincia): self.inicioCedula = inicioCedula self.finalCedula = finalCedula self.provincia = provincia inicio = int(self.inicioCedula) final = int(self.finalCedula) archivo = open(self.provincia + 'DiccionarioWPA.txt', 'w') while inicio <= final: numeroLetras = str(inicio) validarRuc = numeroLetras + '001' if ci.is_valid(numeroLetras): archivo.write(numeroLetras + '\n') if ruc.is_valid(validarRuc): archivo.write(validarRuc + '\n') inicio += 1 archivo.close() print('Diccionario creado correctamente suerte en tú ataque')
def check_ced_ruc(ced): if ci.is_valid(ced): return True else: return False