Repository navigation
Expand file tree
/
Copy pathimport_data_multi.py
More file actions
59 lines (43 loc) · 1.63 KB
/
Copy pathimport_data_multi.py
File metadata and controls
59 lines (43 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import argparse
import os
from typing import Optional
from sqlalchemy import orm
from sqlalchemy.engine import create_engine
import ulid
from grrmlog_parser.core import parse
from grrmlog_parser.utility import get_filename_list_abs_path
from grrm_data.models import Edge, GRRMMap, Eq, PNode
from import_data import import_data
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("base_path", help="path to the target_base")
parser.add_argument("-r", "--root-path", help="path to the root folder")
parser.add_argument("-d", "--depth", default=10, help="search depth")
parser.add_argument("-n", "--dry_run", help="dry run", action="store_true")
args = parser.parse_args()
base_path = args.base_path
root_path = args.root_path
depth = args.depth
dry_run = args.dry_run
print("base:", base_path)
print("root:", root_path)
print("depth:", depth)
print("dry_run:", dry_run)
mysql_host = os.environ["MYSQL_HOSTS"]
user = os.environ["MYSQL_USER"]
password = os.environ["MYSQL_PASSWORD"]
db_name = os.environ["MYSQL_DATABASE"]
print(mysql_host)
print(db_name)
CONNECT_INFO = f"mysql+pymysql://{user}:{password}@{mysql_host}/{db_name}"
print(CONNECT_INFO)
engine = create_engine(CONNECT_INFO)
# engine = create_engine(CONNECT_INFO, echo=True)
Session = orm.sessionmaker(bind=engine)
session = Session()
path_list = get_filename_list_abs_path(base_path, depth)
# print(path_list)
print(f"{len(path_list)} maps are found.")
for p in path_list:
import_data(p, root_path, session, dry_run)
# import_data(path)