support interactive password input
This commit is contained in:
parent
fdb3fbd3d7
commit
42c6f5353b
|
@ -5,13 +5,15 @@ import os
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
|
import getpass
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
from pymysqlreplication.event import QueryEvent
|
||||||
from pymysqlreplication.row_event import (
|
from pymysqlreplication.row_event import (
|
||||||
WriteRowsEvent,
|
WriteRowsEvent,
|
||||||
UpdateRowsEvent,
|
UpdateRowsEvent,
|
||||||
DeleteRowsEvent,
|
DeleteRowsEvent,
|
||||||
)
|
)
|
||||||
from pymysqlreplication.event import QueryEvent
|
|
||||||
|
|
||||||
if sys.version > '3':
|
if sys.version > '3':
|
||||||
PY3PLUS = True
|
PY3PLUS = True
|
||||||
|
@ -58,7 +60,7 @@ def parse_args():
|
||||||
help='Host the MySQL database server located', default='127.0.0.1')
|
help='Host the MySQL database server located', default='127.0.0.1')
|
||||||
connect_setting.add_argument('-u', '--user', dest='user', type=str,
|
connect_setting.add_argument('-u', '--user', dest='user', type=str,
|
||||||
help='MySQL Username to log in as', default='root')
|
help='MySQL Username to log in as', default='root')
|
||||||
connect_setting.add_argument('-p', '--password', dest='password', type=str,
|
connect_setting.add_argument('-p', '--password', dest='password', type=str, nargs='*',
|
||||||
help='MySQL Password to use', default='')
|
help='MySQL Password to use', default='')
|
||||||
connect_setting.add_argument('-P', '--port', dest='port', type=int,
|
connect_setting.add_argument('-P', '--port', dest='port', type=int,
|
||||||
help='MySQL port to use', default=3306)
|
help='MySQL port to use', default=3306)
|
||||||
|
@ -116,6 +118,10 @@ def command_line_args(args):
|
||||||
if (args.start_time and not is_valid_datetime(args.start_time)) or \
|
if (args.start_time and not is_valid_datetime(args.start_time)) or \
|
||||||
(args.stop_time and not is_valid_datetime(args.stop_time)):
|
(args.stop_time and not is_valid_datetime(args.stop_time)):
|
||||||
raise ValueError('Incorrect datetime argument')
|
raise ValueError('Incorrect datetime argument')
|
||||||
|
if not args.password:
|
||||||
|
args.password = getpass.getpass()
|
||||||
|
else:
|
||||||
|
args.password = args.password[0]
|
||||||
return args
|
return args
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue