def gera_linha_digitavel(cod_barra): num_d1 = "%4s%1s%1s%3s" % (cod_barra[0:4], cod_barra[19:20], cod_barra[20:21], cod_barra[21:24]) ver_d1 = gerador.modulo10(num_d1) num_d2 = "%1s%7s%2s" % (cod_barra[24:25], cod_barra[25:32], cod_barra[32:34]) ver_d2 = gerador.modulo10(num_d2) num_d3 = "%6s%2s%2s" % (cod_barra[34:40], cod_barra[40:42], cod_barra[42:44]) ver_d3 = gerador.modulo10(num_d3) campo_1 = "%4s%1s%1s%1s%3s%1s%2s" % (cod_barra[0:4], cod_barra[19:20], '.', cod_barra[20:21], cod_barra[21:24], ver_d1, ' ') campo_2 = "%1s%4s%1s%3s%2s%1s%2s" % (cod_barra[24:25], cod_barra[25:29], '.', cod_barra[29:32], cod_barra[32:34], ver_d2, ' ') campo_3 = "%5s%1s%1s%2s%2s%1s%2s" % (cod_barra[34:39], '.', cod_barra[39:40], cod_barra[40:42], cod_barra[42:44], ver_d3, ' ') dac = "%1s%2s" % (cod_barra[4:5], ' ') fat_vcto = "%4s" % (cod_barra[5:9]) valor = "%10s" % (cod_barra[9:19]) linha_digitavel = campo_1 + campo_2 + campo_3 + dac + fat_vcto + valor return linha_digitavel
def calc_nc_g(posicoes): digito_1 = gerador.modulo10(posicoes) digito_2 = gerador.modulo11(str(posicoes) + str(digito_1), 7, 1) if digito_2 == 1: digito_1 += 1 digito_2 = gerador.modulo11(str(posicoes) + str(digito_1), 7, 1) digito_2 = 11 - digito_2 elif digito_2 == 0: digito_2 = digito_2 else: digito_2 = 11 - digito_2 return [digito_1, digito_2]
def calc_nc(num): digito_1 = gerador.modulo10(num) digito_2 = gerador.modulo11(str(num) + str(digito_1), 7, 1) if digito_2 == 1: digito_1 += 1 digito_2 = gerador.modulo11(str(num) + str(digito_1), 7, 1) digito_2 = 11 - digito_2 elif digito_2 == 0: digito_2 = digito_2 else: digito_2 = 11 - digito_2 return [digito_1, digito_2]
def calc_nc_g(posicoes): digito_1 = gerador.modulo10(posicoes) digito_2 = gerador.modulo11(str(posicoes)+str(digito_1), 7, 1) if digito_2 == 1: digito_1 += 1 digito_2 = gerador.modulo11(str(posicoes)+str(digito_1), 7, 1) digito_2 = 11 - digito_2 elif digito_2 == 0: digito_2 = digito_2 else: digito_2 = 11 - digito_2 return [digito_1, digito_2]
def calc_nc(num): digito_1 = gerador.modulo10(num) digito_2 = gerador.modulo11(str(num)+str(digito_1), 7, 1) if digito_2 == 1: digito_1 += 1 digito_2 = gerador.modulo11(str(num)+str(digito_1), 7, 1) digito_2 = 11 - digito_2 elif digito_2 == 0: digito_2 = digito_2 else: digito_2 = 11 - digito_2 return [digito_1, digito_2]
def gera_linha_digitavel(cod_barra): num_d1 = "%4s%1s%1s%3s" % (cod_barra[0:4],cod_barra[19:20],cod_barra[20:21],cod_barra[21:24]) ver_d1 = gerador.modulo10(num_d1) num_d2 = "%1s%7s%2s" % (cod_barra[24:25],cod_barra[25:32],cod_barra[32:34]) ver_d2 = gerador.modulo10(num_d2) num_d3 = "%6s%2s%2s" % (cod_barra[34:40],cod_barra[40:42],cod_barra[42:44]) ver_d3 = gerador.modulo10(num_d3) campo_1 = "%4s%1s%1s%1s%3s%1s%2s" % (cod_barra[0:4],cod_barra[19:20],'.',cod_barra[20:21],cod_barra[21:24],ver_d1,' ') campo_2 = "%1s%4s%1s%3s%2s%1s%2s" % (cod_barra[24:25],cod_barra[25:29],'.',cod_barra[29:32],cod_barra[32:34],ver_d2,' ') campo_3 = "%5s%1s%1s%2s%2s%1s%2s" % (cod_barra[34:39],'.',cod_barra[39:40],cod_barra[40:42],cod_barra[42:44],ver_d3,' ') dac = "%1s%2s" % (cod_barra[4:5],' ') fat_vcto = "%4s" % (cod_barra[5:9]) valor = "%10s" % (cod_barra[9:19]) linha_digitavel = campo_1+campo_2+campo_3+dac+fat_vcto+valor return linha_digitavel