Skip to content

Commit 7b11a60

Browse files
committed
clean up and clarify usage
Signed-off-by: Tin Lai <[email protected]>
1 parent e20cdc3 commit 7b11a60

File tree

2 files changed

+20
-27
lines changed

2 files changed

+20
-27
lines changed

echo360/downloader.py

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,16 @@
2222

2323

2424
def build_chrome_driver(
25-
use_local_binary, selenium_version_ge_4100, setup_credential, user_agent, log_path, save_browser_login,
25+
use_local_binary, selenium_version_ge_4100, setup_credential, user_agent, log_path, persistent_session,
2626
):
2727
from selenium.webdriver.chrome.options import Options
2828

2929
opts = Options()
3030
if not setup_credential:
3131
opts.add_argument("--headless")
32-
if save_browser_login:
33-
loginFolderPath = '_browser_login_data' # default current dir
34-
opts.add_argument(f"--user-data-dir={loginFolderPath}")
35-
#print(f"opt: --user-data-dir={loginFolderPath}")
32+
if persistent_session:
33+
folder_path = '_browser_user_data_dir' # default current dir
34+
opts.add_argument("--user-data-dir={}".format(folder_path))
3635
opts.add_argument("--window-size=1920x1080")
3736
opts.add_argument("user-agent={}".format(user_agent))
3837

@@ -66,8 +65,11 @@ def build_chrome_driver(
6665

6766

6867
def build_firefox_driver(
69-
use_local_binary, selenium_version_ge_4100, setup_credential, user_agent, log_path, save_browser_login,
68+
use_local_binary, selenium_version_ge_4100, setup_credential, user_agent, log_path, persistent_session,
7069
):
70+
if persistent_session:
71+
raise NotImplementedError("Save-login not implemented for Firefox! Feel free to make a PR for it...")
72+
7173
profile = webdriver.FirefoxProfile()
7274
profile.set_preference("general.useragent.override", user_agent)
7375
kwargs = dict()
@@ -95,16 +97,15 @@ def build_firefox_driver(
9597
firefox_profile=profile,
9698
)
9799
)
98-
99-
if save_browser_login:
100-
print("Save-login not implemented for Firefox! Feel free to make a PR for it...")
101-
102100
return webdriver.Firefox(**kwargs)
103101

104102

105103
def build_phantomjs_driver(
106-
use_local_binary, selenium_version_ge_4100, setup_credential, user_agent, log_path, save_browser_login
104+
use_local_binary, selenium_version_ge_4100, setup_credential, user_agent, log_path, persistent_session
107105
):
106+
if persistent_session:
107+
raise NotImplementedError("Save-login not implemented for Firefox! Feel free to make a PR for it...")
108+
108109
dcap = dict()
109110
dcap.update(DesiredCapabilities.PHANTOMJS)
110111
dcap["phantomjs.page.settings.userAgent"] = (
@@ -120,8 +121,6 @@ def build_phantomjs_driver(
120121
from .binary_downloader.phantomjs import PhantomjsDownloader
121122

122123
kwargs["executable_path"] = PhantomjsDownloader().get_bin()
123-
if save_browser_login:
124-
print("Save-login not implemented for PhantomJS! Feel free to make a PR for it...")
125124

126125
return webdriver.PhantomJS(**kwargs)
127126

@@ -138,7 +137,7 @@ def __init__(
138137
use_local_binary=False,
139138
webdriver_to_use="phantomjs",
140139
interactive_mode=False,
141-
save_browser_login=False,
140+
persistent_session=False,
142141
):
143142
self._course = course
144143
root_path = os.path.dirname(os.path.abspath(sys.modules["__main__"].__file__))
@@ -186,11 +185,10 @@ def __init__(
186185
setup_credential=setup_credential,
187186
user_agent=self._useragent,
188187
log_path=log_path,
189-
save_browser_login=save_browser_login,
188+
persistent_session=persistent_session,
190189
)
191190

192191
self.setup_credential = setup_credential
193-
self.save_browser_login = save_browser_login
194192
# Monkey Patch, set the course's driver to the one from .downloader
195193
self._course.set_driver(self._driver)
196194
self._videos = []
@@ -283,10 +281,6 @@ def download_all(self):
283281
">> I'm gonna assume you are responsible enough to had "
284282
"finished logged in by now ;)\n"
285283
)
286-
if self.save_browser_login:
287-
sys.stdout.write(
288-
">> If Chrome, will cache browser login in this folder! \n"
289-
)
290284
else:
291285
sys.stdout.write('>> Logging into "{0}"... '.format(self._course.url))
292286
sys.stdout.flush()

echo360/main.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,11 @@ def handle_args():
9595
(implies using chrome-driver)",
9696
)
9797
parser.add_argument(
98-
"--remember-login",
98+
"--persistent-session",
9999
action="store_true",
100100
default=False,
101-
dest="save_browser_login",
102-
help="Remembers login, so you only need to do 2FA once. \
103-
(Saves Chrome browser cookies to this folder)"
101+
dest="persistent_session",
102+
help="Starts a persistent session (helps to store credentials). Session uses '_browser_user_data_dir' folder, and currently only supports chrome driver.",
104103
)
105104
parser.add_argument(
106105
"--download-phantomjs-binary",
@@ -239,7 +238,7 @@ def handle_args():
239238
not args["auto"],
240239
args["alternative_feeds"],
241240
args["echo360cloud"],
242-
args["save_browser_login"],
241+
args["persistent_session"],
243242
)
244243

245244

@@ -260,7 +259,7 @@ def main():
260259
manual,
261260
alternative_feeds,
262261
usingEcho360Cloud,
263-
save_browser_login,
262+
persistent_session,
264263
) = handle_args()
265264

266265
setup_logging(enable_degbug)
@@ -354,7 +353,7 @@ def cmd_exists(x):
354353
use_local_binary=use_local_binary,
355354
webdriver_to_use=webdriver_to_use,
356355
interactive_mode=interactive_mode,
357-
save_browser_login=save_browser_login,
356+
persistent_session=persistent_session,
358357
)
359358

360359
_LOGGER.debug(

0 commit comments

Comments
 (0)