import zephyr
import feedparser
import pycurl
+from BeautifulSoup import BeautifulSoup
"""Screen scrapes jira.mit.edu. Supposedly. Doesn't actually work yet.
self.lastResult = ''
c.perform()
return self.lastResult
+ def getPage(self, url):
+ return Page(url, self.get(url), self)
+
+class Page(object):
+ def __init__(self, url, contents, browser):
+ self.url = url
+ self.soup = BeautifulSoup(contents)
+ self.browser = browser
+ def submitForm(self, name, args ={}):
+ form = self.soup.find(name='form', attrs={"name": name})
+ if form == None: return False
+ dest = form.get('action', self.url)
+ # this has a lot of edge-cases that don't work
+ inputs = form.findAll(name='input')
+ vals = {}
+ for input in inputs:
+ vals[input[name]] = input[value]
+ for k,v in args.items():
+ vals[k] = v
+ return self.browser.getPage()
+
b = Browser(
SSLCERT = "cert.pem",
SSL_VERIFYPEER = 0,
COOKIEJAR = "jirabot.cookie",
FOLLOWLOCATION = 1,
+ AUTOREFERER = 1,
+ HTTPHEADER = ["Accept-Language: en-us,en;q=0.5"],
)
b.get("https://jira.mit.edu/jira/secure/Dashboard.jspa")
-print b.get("https://jira.mit.edu/jira/secure/mit_login.jsp?os_destination=/secure/Dashboard.jspa")
+page = b.getPage("https://jira.mit.edu/jira/secure/mit_login.jsp?os_destination=/secure/Dashboard.jspa")
+
+print page.submitForm('wayfForm1')
#c.setopt(c.URL, "https://jira.mit.edu/jira/sr/jira.issueviews:searchrequest-rss/temp/SearchRequest.xml?&pid=10185&updated%3Aprevious=-1w&sorter/field=updated&sorter/order=DESC&tempMax=1000")