forked from ankitsejwal/Lyndor
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexercise_file.py
More file actions
65 lines (58 loc) · 2.3 KB
/
exercise_file.py
File metadata and controls
65 lines (58 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
''' Download exercise file '''
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import install, message
import os
import sys
import time
import shutil
username = install.read_settings_json('credentials', 'username')
password = install.read_settings_json('credentials', 'password')
web_browser = install.read_settings_json('preferences', 'web_browser_for_exfile')
def download(url, course_folder):
''' Download exercise file '''
if web_browser.lower() == 'firefox':
driver = webdriver.Firefox()
else:
driver = webdriver.Chrome()
driver.get("https://www.lynda.com/signin/") # launch lynda.com/signin
# enter username
email = driver.find_element_by_css_selector("#email-address")
email.clear()
email.send_keys(username)
driver.find_element_by_css_selector('#username-submit').click()
print('\nusername successfully entered ....')
time.sleep(2)
# enter password
passwrd = driver.find_element_by_css_selector('#password-input')
passwrd.send_keys(password)
driver.find_element_by_css_selector('#password-submit').click()
print('password successfully entered ....')
time.sleep(2)
# move to the course page
print('launching desired course page ....')
driver.get(url)
time.sleep(4)
driver.find_element_by_css_selector('#exercise-tab').click()
driver.find_element_by_css_selector('a > .exercise-name').click()
ex_file_name = driver.find_element_by_css_selector('.exercise-name').text
ex_file_size = driver.find_element_by_css_selector('.file-size').text
print('Downloading ' + ex_file_name)
file_not_found = True
while file_not_found:
message.spinning_cursor()
downloads_folder = install.folder_path("Downloads")
os.chdir(downloads_folder)
for folder in os.listdir(downloads_folder):
if folder == ex_file_name:
print('\r{}'.format('Download in progress ...'))
if os.path.getsize(folder) > 0: # if file downloaded completely.
print('Download completed.')
file_not_found = False
time.sleep(2)
try:
shutil.move(ex_file_name, course_folder)
print('Ex-File Moved to Course Folder successfully.')
except:
print('Moving error.')
driver.close()