def test_itr_with_two_years(self):
        itr = {
            'formulario_cadastral': {
                'data_documento': {
                    'data_referencia_documento':
                    date_helper.parse('2019-03-31T00:00:00')
                }
            },
            'informacoes_financeiras': [{
                'descricao_conta':
                'Patrimônio Líquido',
                'valores_conta': [0., 500., 600., 0., 0., 0.]
            }, {
                'descricao_conta':
                'Ativo Circulante',
                'valores_conta': [0., 123., 23., 0., 0., 0.]
            }],
        }
        resp = date_resolver.indices_to_date(itr)

        expected = {
            1: date_helper.parse('2019-03-31T00:00:00'),
            2: date_helper.parse('2018-03-31T00:00:00')
        }

        self.assertEquals(resp, expected)
예제 #2
0
def extract(formulario_cadastral, formuladrio_demonstracao_financeira, doc_id):
    cadastral_dict = xmltodict.parse(formulario_cadastral.decode('utf-8'))
    demonstracao_financeira_dict = xmltodict.parse(
        formuladrio_demonstracao_financeira.decode('utf-8'))

    validation_for_possible_mistake(demonstracao_financeira_dict, doc_id)

    referencia = date_helper.parse(demonstracao_financeira_dict['Documento']
                                   ['DataReferenciaDocumento'].strip())
    entrega = date_helper.parse(
        cadastral_dict['Documento']['DataEntrega'].strip())

    return {
        'codigo_cvm':
        cadastral_dict['Documento']['CompanhiaAberta']
        ['CodigoCvm'].strip().replace('-', ''),
        'razao_social':
        cadastral_dict['Documento']['CompanhiaAberta']
        ['NomeRazaoSocialCompanhiaAberta'].strip(),
        'data_entrega':
        entrega,
        'data_documento': {
            'data_referencia_documento': referencia,
            'trimestre': date_helper.extract_trimestre(referencia),
            'ano': referencia.year
        }
    }
예제 #3
0
def balanco_mapper(patrimonio_liquido, data_documento):
    mapper = {
        0: data_documento,
        1:
        date_helper.parse('{}-12-31T00:00:00'.format(data_documento.year - 1))
    }

    if patrimonio_liquido['valores_conta'][2] != 0:
        mapper[2] = date_helper.parse(
            '{}-12-31T00:00:00'.format(data_documento.year - 2))

    return mapper
예제 #4
0
def balanco_mapper(data_documento):
    mapper = {
        1: data_documento,
        2:
        date_helper.parse('{}-12-31T00:00:00'.format(data_documento.year - 1))
    }

    return mapper
예제 #5
0
def demonstrativo_mapper_primeiro_tri(data_documento):
    one_year_before = date_helper.parse('{}-{}-{}T00:00:00'.format(
        data_documento.year - 1, data_documento.month, data_documento.day))

    return {3: data_documento, 5: one_year_before}