Skip to content

Commit 7799365

Browse files
committed
feature: added bootstrap default 'dbname' parameter from config file parameter '[postgres][database]'
1 parent 1f03837 commit 7799365

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

mamonsu/tools/bootstrap/start.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66

77
import mamonsu.lib.platform as platform
88
from mamonsu.lib.parser import MissOptsParser
9+
from mamonsu.lib.config import Config
910
from mamonsu.plugins.pgsql.driver.checks import is_conn_to_db
1011
from mamonsu import __version__ as mamonsu_version
1112
from mamonsu.lib.default_config import DefaultConfig
1213
from mamonsu.plugins.pgsql.pool import Pooler
1314
from mamonsu.tools.bootstrap.sql import CreateMamonsuUserSQL, CreateSchemaExtensionSQL, \
14-
CreateSchemaDefaultSQL,GrantsOnDefaultSchemaSQL, GrantsOnExtensionSchemaSQL, QuerySplit
15+
CreateSchemaDefaultSQL, GrantsOnDefaultSchemaSQL, GrantsOnExtensionSchemaSQL, QuerySplit
1516

1617

1718
class Args(DefaultConfig):
@@ -67,9 +68,13 @@ def __init__(self):
6768
action='store_true',
6869
dest='create_extensions',
6970
help='create pg_buffercache extension in mamonsu schema')
71+
bootstrap_group.add_option(
72+
'-c', '--config',
73+
dest='config',
74+
default=DefaultConfig.default_config_path(),
75+
help=optparse.SUPPRESS_HELP)
7076
parser.add_option_group(group)
7177
parser.add_option_group(bootstrap_group)
72-
7378
self.args, commands = parser.parse_args()
7479
if len(commands) > 0:
7580
if len(commands) == 1:
@@ -78,12 +83,14 @@ def __init__(self):
7883
parser.print_help()
7984
sys.exit(1)
8085
if self.args.dbname is None:
81-
sys.stderr.write("ERROR: Database for mamonsu is not specified\n")
82-
parser.print_bootstrap_help()
83-
sys.exit(1)
84-
85-
if not self.args.dbname:
86-
self.args.dbname = self.args.username
86+
try:
87+
cfg = Config(self.args.config)
88+
self.args.dbname = cfg.fetch('postgres', 'database')
89+
except Exception as e:
90+
sys.stderr.write("ERROR: Database for mamonsu is not specified\n")
91+
sys.stderr.write("{0}\n".format(e))
92+
parser.print_bootstrap_help()
93+
sys.exit(1)
8794

8895
# apply env
8996
os.environ['PGUSER'] = self.args.username

0 commit comments

Comments
 (0)