Skip to content
This repository was archived by the owner on Mar 13, 2020. It is now read-only.

Commit a540cd1

Browse files
author
dames
committed
Added main project file
1 parent 4952795 commit a540cd1

File tree

6 files changed

+51
-5
lines changed

6 files changed

+51
-5
lines changed

BatchDataLoader.py renamed to relational_data_loader_project/BatchDataLoader.py

File renamed without changes.

DataLoadManager.py renamed to relational_data_loader_project/DataLoadManager.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import logging
2-
from BatchDataLoader import BatchDataLoader
3-
from DestinationTableManager import DestinationTableManager
4-
from DataLoadTracker import DataLoadTracker
5-
from SourceTableManager import SourceTableManager
2+
from relational_data_loader_project.BatchDataLoader import BatchDataLoader
3+
from relational_data_loader_project.DestinationTableManager import DestinationTableManager
4+
from relational_data_loader_project.DataLoadTracker import DataLoadTracker
5+
from relational_data_loader_project.SourceTableManager import SourceTableManager
66
import json
77

88

@@ -21,7 +21,8 @@ def start_import(self, source_engine, target_engine, configuration_name, full_lo
2121
self.logger.debug("Execute Starting")
2222
destination_table_manager = DestinationTableManager()
2323

24-
columns = self.remove_invalid_columns(pipeline_configuration['source_table'], pipeline_configuration['columns'], source_engine)
24+
columns = self.remove_invalid_columns(pipeline_configuration['source_table'], pipeline_configuration['columns'],
25+
source_engine)
2526

2627
if full_load:
2728
self.logger.info("Full-load is set. Recreating the staging table.")

DataLoadTracker.py renamed to relational_data_loader_project/DataLoadTracker.py

File renamed without changes.

DestinationTableManager.py renamed to relational_data_loader_project/DestinationTableManager.py

File renamed without changes.

SourceTableManager.py renamed to relational_data_loader_project/SourceTableManager.py

File renamed without changes.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import logging
2+
from relational_data_loader_project.DataLoadManager import DataLoadManager
3+
from sqlalchemy import create_engine
4+
import argparse
5+
6+
7+
def main(args):
8+
configure_logging()
9+
source_engine = create_engine(args['source-engine'])
10+
destination_engine = create_engine(args['destination-engine'])
11+
12+
data_load_manager = DataLoadManager(args['configuration-folder'])
13+
data_load_manager.start_import(source_engine, destination_engine, "provider", True)
14+
15+
16+
def configure_logging():
17+
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
18+
log = logging.getLogger()
19+
console_stream_handler = logging.StreamHandler()
20+
console_stream_handler.setFormatter(formatter)
21+
log.addHandler(console_stream_handler)
22+
log.setLevel(logging.DEBUG)
23+
return
24+
25+
def get_arguments():
26+
parser = argparse.ArgumentParser(description='Relational Data Loader')
27+
28+
parser.add_argument('source-engine', metavar='source-engine',
29+
help='The source engine. Eg: mssql+pyodbc://dwsource')
30+
31+
parser.add_argument('destination-engine', metavar='destination-engine',
32+
help='The destination engine. Eg: postgresql+psycopg2://postgres:xxxx@localhost/dest_dw')
33+
34+
parser.add_argument('configuration-folder', metavar='configuration-folder',
35+
help='The configration folder. Eg C:\\_dev\\oscars-misc\\el-pipeline-spike\\configuraton\\')
36+
37+
return vars(parser.parse_args())
38+
39+
40+
if __name__ == "__main__":
41+
args = get_arguments()
42+
main(args)
43+
44+
45+

0 commit comments

Comments
 (0)