Skip to content

Commit bd5d059

Browse files
committed
Set log level during argument parsing
1 parent 6f19ba0 commit bd5d059

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

tools/importer/importer.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
from tools.utils import delete_dir_files, mkdir, copy_file
3434

35+
rel_log = logging.getLogger("Importer")
3536
cherry_pick_re = re.compile(
3637
'\s*\(cherry picked from commit (([0-9]|[a-f]|[A-F])+)\)')
3738

@@ -54,6 +55,11 @@ def __call__(self, parser, namespace, values, option_string=None):
5455
setattr(namespace, self.dest, fn)
5556

5657

58+
class SetLogLevel(argparse.Action):
59+
def __call__(self, parser, namespace, values, option_string=None):
60+
logging.basicConfig(level=values)
61+
62+
5763
def del_file(name):
5864
"""
5965
Delete the file in RTOS/CMSIS/features directory of mbed-os.
@@ -136,7 +142,7 @@ def get_curr_sha(repo_path):
136142
rel_log.error("Could not obtain latest SHA")
137143
sys.exit(1)
138144

139-
rel_log.info("%s SHA = %s", repo_path, sha)
145+
rel_log.info("%s SHA = %s", repo_path, _sha)
140146
return _sha
141147

142148

@@ -201,14 +207,15 @@ def normalize_commit_sha(sha_lst):
201207

202208

203209
if __name__ == "__main__":
204-
205210
parser = argparse.ArgumentParser(
206211
description=__doc__,
207212
formatter_class=argparse.RawDescriptionHelpFormatter)
208213

209214
parser.add_argument('-l', '--log-level',
210215
help="Level for providing logging output",
211-
default='INFO')
216+
choices=['DEBUG', 'INFO', 'ERROR'],
217+
default='INFO',
218+
action=SetLogLevel)
212219
parser.add_argument('-r', '--repo-path',
213220
help="Git Repository to be imported",
214221
required=True,
@@ -218,17 +225,11 @@ def normalize_commit_sha(sha_lst):
218225
required=True,
219226
action=StoreValidFile)
220227

221-
args = parser.parse_args()
222-
level = getattr(logging, args.log_level.upper())
223-
224228
if ROOT not in abspath(os.curdir):
225229
parser.error("This script must be run from the mbed-os directory "
226230
"to work correctly.")
227231

228-
# Set logging level
229-
logging.basicConfig(level=level)
230-
rel_log = logging.getLogger("Importer")
231-
232+
args = parser.parse_args()
232233
sha = get_curr_sha(args.repo_path)
233234
repo_dir = os.path.basename(args.repo_path)
234235
branch = 'feature_' + repo_dir + '_' + sha

0 commit comments

Comments
 (0)