def __init__(self, move_line): ''' Get bank class from bank code. '001': 'bancodobrasil.BoletoBB', '041': 'banrisul.BoletoBanrisul', '237': 'bradesco.BoletoBradesco', '104': 'caixa.BoletoCaixa', '399': 'hsbc.BoletoHsbc', '341': 'itau.BoletoItau', '356': 'real.BoletoReal', '033': 'santander.BoletoSantander', :param bank_code: :return: ''' if move_line: bank_code = move_line.payment_mode_id.bank_id.bank.bic if bank_code in '001': self.boleto = bank.get_class_for_codigo(bank_code)(7, 2) elif bank_code in '104': from pyboleto.bank.caixa_sigcb import BoletoCaixaSigcb self.boleto = BoletoCaixaSigcb() else: self.boleto = bank.get_class_for_codigo(bank_code) self.create(move_line)
def write_brazilian_deposit_system(self, deposit): deposit_data = deposit.get('Data') if 'data_documento' in deposit_data and deposit_data['data_documento']: deposit_data['data_documento'] = datetime.datetime.strptime( deposit_data['data_documento'], "%Y-%m-%d").date() if 'data_vencimento' in deposit_data and deposit_data[ 'data_vencimento']: deposit_data['data_vencimento'] = datetime.datetime.strptime( deposit_data['data_vencimento'], "%Y-%m-%d").date() if 'data_processamento' in deposit_data and deposit_data[ 'data_processamento']: deposit_data['data_processamento'] = datetime.datetime.strptime( deposit_data['data_processamento'], "%Y-%m-%d").date() buffer = StringIO() from pyboleto.pdf import BoletoPDF boleto_pdf = BoletoPDF(buffer) from pyboleto import bank ClasseBanco = bank.get_class_for_codigo(deposit_data['codigo_banco']) deposit_dados = ClasseBanco() for field_name, field_value in deposit_data.iteritems(): if field_value: setattr(deposit_dados, field_name, field_value) boleto_pdf.drawBoleto(deposit_dados) self.set_header("Content-Type", "application/pdf") boleto_pdf.save() pdf_file = buffer.getvalue() self.write(pdf_file)
def write_brazilian_deposit_system(self,deposit): deposit_data = deposit.get('Data') if 'data_documento' in deposit_data and deposit_data['data_documento']: deposit_data['data_documento'] = datetime.datetime.strptime( deposit_data['data_documento'] , "%Y-%m-%d").date() if 'data_vencimento' in deposit_data and deposit_data['data_vencimento']: deposit_data['data_vencimento'] = datetime.datetime.strptime( deposit_data['data_vencimento'] , "%Y-%m-%d").date() if 'data_processamento' in deposit_data and deposit_data['data_processamento']: deposit_data['data_processamento'] = datetime.datetime.strptime( deposit_data['data_processamento'] , "%Y-%m-%d").date() buffer = StringIO() from pyboleto.pdf import BoletoPDF boleto_pdf = BoletoPDF(buffer) from pyboleto import bank ClasseBanco = bank.get_class_for_codigo(deposit_data['codigo_banco']) deposit_dados = ClasseBanco() for field_name, field_value in deposit_data.iteritems(): if field_value: setattr(deposit_dados, field_name, field_value) boleto_pdf.drawBoleto(deposit_dados) self.set_header("Content-Type", "application/pdf") boleto_pdf.save() pdf_file = buffer.getvalue() self.write( pdf_file )
def print_pdf_pagina(self, pdf_file): from pyboleto import bank ClasseBanco = bank.get_class_for_codigo(self.codigo_banco) boleto_dados = ClasseBanco() for field in self._meta.get_all_field_names(): if getattr(self, field): setattr(boleto_dados, field, getattr(self, field)) setattr(boleto_dados, 'nosso_numero', getattr(self, 'numero_documento')) pdf_file.drawBoleto(boleto_dados)
def print_pdf_pagina(self, pdf_file): from pyboleto import bank ClasseBanco = bank.get_class_for_codigo(self.codigo_banco) boleto_dados = ClasseBanco() for field in self.__table__.columns: val = getattr(self, field.name) if val: setattr(boleto_dados, field.name, val) setattr(boleto_dados, 'nosso_numero', getattr(self, 'numero_documento')) pdf_file.drawBoleto(boleto_dados)
def print_pdf_pagina(self, pdf_file): from pyboleto import bank ClasseBanco = bank.get_class_for_codigo(self.codigo_banco) boleto_dados = ClasseBanco() for field in self._meta.get_fields(): if getattr(self, field.name): # if field.name == 'instrucoes': # print(self.instrucoes) setattr(boleto_dados, field.name, getattr(self, field.name)) setattr(boleto_dados, 'nosso_numero', getattr(self, 'numero_documento')) valor_dia = '{:.2f}'.format(self.valor*self.juros_mora_taxa/100).replace('.', ',') setattr(boleto_dados, 'instrucoes', self.instrucoes.format(valor_dia)) pdf_file.drawBoleto(boleto_dados)
def getBoletoClass(order_line): bank_code = order_line.src_bank_account_id.bank_id.bic return bank.get_class_for_codigo(bank_code)
def getBoletoClass(move_line): bank_code = move_line.payment_mode_id.bank_account_id.bank_id.bic return bank.get_class_for_codigo(bank_code)
def get_class_for_codigo(banco_codigo): return bank.get_class_for_codigo(banco_codigo)