nbgallery
Bulk Uploader¶Quick hack to automate the uploading of notebooks to nbgallery
.
Uses selenium
(I couldn't get mechanize
/ mechanical soup
to work?).
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://localhost:3000/")
driver.find_element_by_id("gearDropdown").click()
element = driver.find_element_by_id("user_email")
element.click()
element.clear()
element.send_keys(NBGALLERY_EMAIL)
element = driver.find_element_by_id("user_password")
element.clear()
element.send_keys(NBGALLERY_PASSWORD)
element.click()
driver.find_element_by_xpath("//input[@value='Login']").click()
driver.find_element_by_id("uploadModalButton").click()
driver.find_element_by_id("uploadFile").send_keys("/Users/tonyhirst/notebooks/Untitled.ipynb");
driver.find_element_by_xpath('//*[@id="uploadFileForm"]/div[3]/div/div/label/input').click()
driver.find_element_by_id("uploadFileSubmit").click()
element = driver.find_element_by_id("stageTitle")
element.click()
element.send_keys("My title")
element = driver.find_element_by_id("stageDescription")
element.click()
element.send_keys("My description")
element = driver.find_element_by_id("stageTags-tokenfield")
element.click()
element.send_keys("tag1,tag2,") #need the final comma to set it?
#optional
#driver.find_element_by_id("stagePrivate").click()
driver.find_element_by_xpath('//*[@id="stageForm"]/div[9]/div/div/label/input').click()
driver.find_element_by_id("stageSubmit").click()