initializedb.py
1.21 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
import os
import sys
import transaction
from pyramid.paster import (
get_appsettings,
setup_logging,
)
from sqlalchemy import (
engine_from_config,
)
from tangsel.base.models import (
DBSession,
Group,
Permission,
GroupPermission,
)
from tangsel.base.scripts.initializedb import append_csv
from tangsel.base.models import Base
from ..models.es_log import *
def get_file(filename):
base_dir = os.path.split(__file__)[0]
fullpath = os.path.join(base_dir, 'data', filename)
return open(fullpath)
def main(argv=sys.argv):
print('*** Module va/pemda begin ***')
config_uri = argv[1]
setup_logging(config_uri)
settings = get_appsettings(config_uri)
engine = engine_from_config(settings, 'sqlalchemy.')
Base.metadata.bind = engine
Base.metadata.create_all(bind=engine)
DBSession.configure(bind=engine)
append_csv(Group, 'group.csv', ['group_name'], get_file_func=get_file)
append_csv(Permission, 'permission.csv', [
'perm_name'], get_file_func=get_file)
append_csv(GroupPermission, 'group_permission.csv', [
'group_id', 'perm_name'], get_file_func=get_file)
transaction.commit()
print('*** Module e-sppt done ***')