コード例 #1
0
	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
コード例 #2
0
ファイル: opac.py プロジェクト: bluestemscott/librarygadget
    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
コード例 #3
0
	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		
コード例 #4
0
 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
コード例 #5
0
	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		
コード例 #6
0
 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
コード例 #7
0
    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
コード例 #8
0
ファイル: opac.py プロジェクト: bluestemscott/librarygadget
    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
コード例 #9
0
    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
コード例 #10
0
    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