def renew(self, titles): params = {} params = util.makePostData(self.form) data = urllib.urlencode(params) renewals = [] #keep track of items we actually tried to renew for title in titles: if self.itemsOut.has_key(title) == False: continue renewals.append(title) renewalParam = {} item = self.itemsOut[title] renewalParam['renewitemkeys'] = item.renewitemkeys data += "&" + urllib.urlencode(renewalParam) action = self.form['action'] html = self.http.post(action, data, headers={'Content-Type': 'application/x-www-form-urlencoded'}) # this will be the list of what's checked out/renewed/etc newItemsOutPage = ItemsOutPage(self.http, html) self.itemsOut = {} self.itemsOut = newItemsOutPage.itemsOut #print self.itemsOut.values() for currentItem in self.itemsOut.values(): #print currentItem.title if (currentItem.title in titles) & (currentItem.renewalError == None): currentItem.renewed = True else: currentItem.renewed = False return self.itemsOut
def createPost(self, username, password): inputids = self.soup.findAll('input', {'name':('user_id', 'userid')}) form = None useridParam = None for inputid in inputids: useridParam = inputid['name'] form = inputid.findPrevious("form") if useridParam == None: raise util.NavStateException("unable to find login form, html=" + self.html) inputpin = form.find('input', {'name': ('password','pin')}) if inputpin == None: raise util.NavStateException("unable to find login form, html=" + self.html) passwordParam = inputpin['name'] logging.debug("form name=%s, useridParam=%s, passwordParam=%s" % (form["name"], useridParam, passwordParam)) action = form['action'] params = util.makePostData(form) # Fill the visible fields params[useridParam] = username params[passwordParam] = password data = util.urlencode(params) return action,data
def login(self): form = self.soup.form action = form['action'] params = util.makePostData(form) data = urllib.urlencode(params) html = self.http.post(action, data, {'Content-Type': 'application/x-www-form-urlencoded'}); util.check_login_error(html) return html
def ok_form(self): form = self.soup.find('form', {'name':'formMain'}) params = util.makePostData(form) del params['buttonCancel'] data = util.urlencode(params) action = form['action'] logging.warning("pending fine action: " + action) logging.warning("pending fine data: " + data) return action, data
def login(self, username, password): form = self.soup.form action = form['action'] params = util.makePostData(form) # Fill the visible fields params['userid'] = username params['pin'] = password data = urllib.urlencode(params) html = self.http.post(action, data, {'Content-Type': 'application/x-www-form-urlencoded'}); return html
def login(self, username, password): idinput = self.soup.find("input", {"name": "sec1"}) form = idinput.findPrevious("form") action = form["action"] params = util.makePostData(form) # Fill the visible fields params["sec1"] = username params["sec2"] = password data = util.urlencode(params) logging.debug(data) html = self.http.post(action, data, {"Content-Type": "application/x-www-form-urlencoded"}) util.check_login_error(html) logging.debug(html) return html
def createPost(self, username, password): form = self.soup.find("form", {"name" : "formMain"}) inputid = self.soup.find('input', {'name':('textboxOBarcode','textboxBarcode','textboxBarcodeUsername')}) useridParam = inputid['name'] inputpin = self.soup.find('input', {'name': ('textboxOPassword','textboxPassword')}) passwordParam = inputpin['name'] params = {} params = util.makePostData(form) params[useridParam] = username params[passwordParam] = password data = util.urlencode(params) action = form['action'] logging.debug('action=' + action) logging.debug('data=' + data) return action, data
def makeRenewalPost(self, titles): params = {} params = util.makePostData(self.form) params['selection_type'] = 'selected' data = util.urlencode(params) renewals = [] #keep track of items we actually tried to renew for title in titles: #print title if self.renewalitems.has_key(title) == False: continue renewals.append(title) renewalParam = {} item = self.renewalitems[title] renewalParam[item.renewitemkey] = 'on' data += "&" + util.urlencode(renewalParam) return self.form['action'], data
def makeRenewalPost(self, titles): params = util.makePostData(self.form) renewals = [] #keep track of items we actually tried to renew for title in titles: if self.itemsOut.has_key(title) == False: continue item = self.itemsOut[title] if item.renewitemkeys != None: # not all items have a renewal checkbox, currently our gadget UI doesn't ever suppress it though params[item.renewitemkeys] = 'checked' params['__EVENTTARGET'] = 'linkbuttonRenew' params['__EVENTARGUMENT'] = '' data = util.urlencode(params) action = self.form['action'] #logging.warning("renew action: " + action) #logging.warning("renew data: " + data) return action, data
def makeRenewalPost(self, titles): params = {} params = util.makePostData(self.form) data = util.urlencode(params) renewals = [] # keep track of items we actually tried to renew for title in titles: if self.itemsOut.has_key(title) == False: continue renewals.append(title) renewalParam = {} item = self.itemsOut[title] # see for example seattle3.htm test case - not all items have a renewal checkbox if item.renewitemkeys != None: renewalParam["renewitemkeys"] = item.renewitemkeys data += "&" + util.urlencode(renewalParam) action = self.form["action"] return action, data