Skip to content
This repository was archived by the owner on Jan 27, 2024. It is now read-only.

Commit 3f6071f

Browse files
committed
support input password secretly
1 parent 260a6b2 commit 3f6071f

File tree

5 files changed

+17
-9
lines changed

5 files changed

+17
-9
lines changed

kaggle_cli/common.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,19 @@
22
import os
33
import pickle
44
import re
5+
import getpass
56

67
from mechanicalsoup import Browser
78

89
from .config import CONFIG_DIR_NAME
910

1011

11-
def login(username, password):
12+
def login(username=None, password=None):
13+
if username is None:
14+
username = input('Please provide username: ')
15+
if password is None:
16+
password = getpass.getpass('Please provide password: ')
17+
1218
config_dir_path = os.path.join(
1319
os.path.expanduser('~'),
1420
CONFIG_DIR_NAME

kaggle_cli/download.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ def get_parser(self, prog_name):
2424
def take_action(self, parsed_args):
2525
config = get_final_config(parsed_args)
2626

27-
username = config.get('username', '')
28-
password = config.get('password', '')
27+
username = config.get('username', None)
28+
password = config.get('password', None)
2929
competition = config.get('competition', '')
3030
file_name = parsed_args.filename
3131

@@ -154,8 +154,8 @@ def get_parser(self, prog_name):
154154
def take_action(self, parsed_args):
155155
config = get_final_config(parsed_args)
156156

157-
username = config.get('username', '')
158-
password = config.get('password', '')
157+
username = config.get('username', None)
158+
password = config.get('password', None)
159159
dataset = parsed_args.dataset
160160
owner = parsed_args.owner
161161
file_name = parsed_args.filename

kaggle_cli/meta.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION = '0.12.13'
1+
VERSION = '0.13.0'

kaggle_cli/submissions.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ def get_parser(self, prog_name):
5252
return parser
5353

5454
def fetch_submissions(self, config):
55-
browser = common.login(config['username'], config['password'])
55+
username = config.get('username', None)
56+
password = config.get('password', None)
57+
browser = common.login(username, password)
5658
base = 'https://www.kaggle.com'
5759
url = '/'.join([base, 'c', config['competition'], 'submissions.json'])
5860
return browser.get(

kaggle_cli/submit.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ def get_parser(self, prog_name):
2727
def take_action(self, parsed_args):
2828
config = get_final_config(parsed_args)
2929

30-
username = config.get('username', '')
31-
password = config.get('password', '')
30+
username = config.get('username', None)
31+
password = config.get('password', None)
3232
competition = config.get('competition', '')
3333

3434
browser = common.login(username, password)

0 commit comments

Comments
 (0)