예제 #1
0
def read(nutzername, ausgeschlossene_kategorien):
    if not file_system.instance().read(database_path_from(nutzername)):
        neue_datenbank = Database(nutzername)
        write(neue_datenbank)

    file_content = file_system.instance().read(database_path_from(nutzername))

    parser = DatabaseParser()
    parser.from_string(file_content)

    database = Database(nutzername,
                        ausgeschlossene_kategorien=ausgeschlossene_kategorien)

    database.einzelbuchungen.parse(_to_table(parser.einzelbuchungen()))
    print('READER: Einzelbuchungen gelesen')

    database.dauerauftraege.parse(_to_table(parser.dauerauftraege()))
    print('READER: Daueraufträge gelesen')

    database.gemeinsamebuchungen.parse(_to_table(
        parser.gemeinsame_buchungen()))
    print('READER: Gemeinsame Buchungen gelesen')

    if parser.sparkontos():
        database.sparkontos.parse(_to_table(parser.sparkontos()))
        print('READER: Sparkontos gelesen')

    if parser.sparbuchungen():
        database.sparbuchungen.parse(_to_table(parser.sparbuchungen()))
        print('READER: Sparbuchungen gelesen')

    if parser.depotwerte():
        database.depotwerte.parse(_to_table(parser.depotwerte()))
        print('READER: Depotwerte gelesen')

    if parser.order():
        database.order.parse(_to_table(parser.order()))
        print('READER: Depotwerte gelesen')

    if parser.depotauszuege():
        database.depotauszuege.parse(_to_table(parser.depotauszuege()))
        print('READER: Depotauszuege gelesen')

    if parser.order_dauerauftrag():
        database.orderdauerauftrag.parse(_to_table(
            parser.order_dauerauftrag()))
        print('READER: Order Dauerauftrag gelesen')

    print('READER: Refreshe Database')
    database.refresh()
    print('READER: Refresh done')
    return database
예제 #2
0
    def test_refresh_should_add_order_and_einzelbuchung_on_orderdauerauftrag(self):
        component_under_test = Database('test_database')
        component_under_test.orderdauerauftrag.add(
            datum('01.01.2020'),
            datum('02.01.2020'),
            'monatlich',
            '1name',
            '1konto',
            '1depotwert',
            100)

        component_under_test.refresh()

        assert len(component_under_test.order.get_all()) == 1
        assert len(component_under_test.einzelbuchungen.get_all()) == 1
예제 #3
0
    def test_frame_to_list_of_dicts_withDataframe_should_return_list_of_dicts(self):
        dataframe = DataFrame([{'col1': 'test1', 'col2': 1}, {'col1': 'test2', 'col2': 2}])

        result = Database('test_database').frame_to_list_of_dicts(dataframe)

        assert len(result) == 2
        assert result[0]['col1'] == 'test1'
        assert result[0]['col2'] == 1
        assert result[1]['col1'] == 'test2'
        assert result[1]['col2'] == 2
 def clear_context(self):
     non_persisted_state.CONTEXT = {}
     persisted_state.DATABASE_INSTANCE = Database('db')
예제 #5
0
    def teste_refresh_should_add_einzelbuchungen_von_dauerauftrag(self):
        component_under_test = Database('test_database')
        component_under_test.dauerauftraege.add(datum('10.01.2010'), datum('11.03.2010'), '', '', 'monatlich', 20)
        component_under_test.refresh()

        assert len(component_under_test.einzelbuchungen.content) == 3
예제 #6
0
 def teste_refresh_with_empty_database(self):
     component_under_test = Database('test_database')
     component_under_test.refresh()
예제 #7
0
    def test_frame_to_list_of_dicts_with_empty_dataframe_should_return_empty_list(self):
        empty_dataframe = DataFrame()

        result = Database('test_database').frame_to_list_of_dicts(empty_dataframe)

        assert result == []