Passed
Pull Request — dev (#234)
by Stephan
01:10
created

data.datasets.initdb   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 20
rs 10
c 0
b 0
f 0
wmc 3

1 Function

Rating   Name   Duplication   Size   Complexity  
A initdb() 0 6 3
1
from airflow.operators.python_operator import PythonOperator
2
3
from egon.data import db
4
from egon.data.datasets import DEFAULTS, Dataset
5
6
7
def initdb():
8
    """ Initialize the local database used for data processing. """
9
    engine = db.engine()
10
    with engine.connect().execution_options(autocommit=True) as connection:
11
        for extension in ["hstore", "postgis", "postgis_raster"]:
12
            connection.execute(f"CREATE EXTENSION IF NOT EXISTS {extension}")
13
14
15
dataset = Dataset(
16
    name="database-structure",
17
    version="0.0.0",
18
    dependencies=[],
19
    graph=PythonOperator(task_id="initdb", python_callable=initdb, **DEFAULTS),
20
)
21