def earnRewards(config, httpHeaders, userAgents, reportItem, password): """Earns Bing! reward points and populates reportItem""" noException = False try: if reportItem is None: raise ValueError("reportItem is None") if reportItem.accountType is None: raise ValueError("reportItem.accountType is None") if reportItem.accountLogin is None: raise ValueError("reportItem.accountLogin is None") if password is None: raise ValueError("password is None") del reportItem.error reportItem.error = None reportItem.pointsEarned = 0 bingRewards = BingRewards(httpHeaders, userAgents, config) bingAuth = BingAuth(httpHeaders, bingRewards.opener) bingAuth.authenticate(reportItem.accountType, reportItem.accountLogin, password) reportItem.oldPoints = bingRewards.getRewardsPoints() rewards = bfp.parseFlyoutPage(bingRewards.requestFlyoutPage(), bingCommon.BING_URL) if verbose: bingRewards.printRewards(rewards) print("%s - %s" % (reportItem.accountType, reportItem.accountLogin)) results = bingRewards.process(rewards, verbose) if verbose: print print "-" * 80 print bingRewards.printResults(results, verbose) reportItem.newPoints = bingRewards.getRewardsPoints() reportItem.lifetimeCredits = bingRewards.getLifetimeCredits() reportItem.pointsEarned = reportItem.newPoints - reportItem.oldPoints reportItem.pointsEarnedRetrying += reportItem.pointsEarned print print "%s - %s" % (reportItem.accountType, reportItem.accountLogin) print print "Points before: %6d" % reportItem.oldPoints print "Points after: %6d" % reportItem.newPoints print "Points earned: %6d" % reportItem.pointsEarned print "Lifetime Credits: %6d" % reportItem.lifetimeCredits print print "-" * 80 noException = True except AuthenticationError, e: reportItem.error = e print "AuthenticationError:\n%s" % e
def earnRewards(config, httpHeaders, userAgents, reportItem, password): """Earns Bing! reward points and populates reportItem""" noException = False try: if reportItem is None: raise ValueError("reportItem is None") if reportItem.accountType is None: raise ValueError("reportItem.accountType is None") if reportItem.accountLogin is None: raise ValueError("reportItem.accountLogin is None") if password is None: raise ValueError("password is None") del reportItem.error reportItem.error = None reportItem.pointsEarned = 0 bingRewards = BingRewards(httpHeaders, userAgents, config) bingAuth = BingAuth(httpHeaders, bingRewards.opener) bingAuth.authenticate(reportItem.accountType, reportItem.accountLogin, password) reportItem.oldPoints = bingRewards.getRewardsPoints() rewards = bfp.parseFlyoutPage(bingRewards.requestFlyoutPage(), bingCommon.BING_URL) if verbose: bingRewards.printRewards(rewards) print ("%s - %s" % (reportItem.accountType, reportItem.accountLogin)) results = bingRewards.process(rewards, verbose) if verbose: print print "-" * 80 print bingRewards.printResults(results, verbose) reportItem.newPoints = bingRewards.getRewardsPoints() reportItem.lifetimeCredits = bingRewards.getLifetimeCredits() reportItem.pointsEarned = reportItem.newPoints - reportItem.oldPoints reportItem.pointsEarnedRetrying += reportItem.pointsEarned print print "%s - %s" % (reportItem.accountType, reportItem.accountLogin) print print "Points before: %6d" % reportItem.oldPoints print "Points after: %6d" % reportItem.newPoints print "Points earned: %6d" % reportItem.pointsEarned print "Lifetime Credits: %6d" % reportItem.lifetimeCredits print print "-" * 80 noException = True except AuthenticationError, e: reportItem.error = e print "AuthenticationError:\n%s" % e
def earnRewards(authType, login, password): """Earns Bing! reward points and returnes how many points has been earned""" pointsEarned = 0 noException = False try: if authType is None: raise ValueError("authType is None") if login is None: raise ValueError("login is None") if password is None: raise ValueError("password is None") bingRewards = BingRewards() bingAuth = BingAuth(bingRewards.opener) bingAuth.authenticate(authType, login, password) points = bingRewards.getRewardsPoints() rewards = bfp.parseFlyoutPage(bingRewards.requestFlyoutPage(), bingCommon.BING_URL) if verbose: bingRewards.printRewards(rewards) results = bingRewards.process(rewards) if verbose: print print "-" * 80 print bingRewards.printResults(results, verbose) newPoints = bingRewards.getRewardsPoints() lifetimeCredits = bingRewards.getLifetimeCredits() pointsEarned = newPoints - points print print "%s - %s" % (authType, login) print print "Points before: %6d" % points print "Points after: %6d" % newPoints print "Points earned: %6d" % pointsEarned print "Lifetime Credits: %6d" % lifetimeCredits print print "-" * 80 noException = True except AuthenticationError, e: print "AuthenticationError:\n%s" % e
def earnRewards(httpHeaders, reportItem, password, config): print "earnRewards()" try: if reportItem is None: raise ValueError("reportItem is None") if reportItem.accountType is None: raise ValueError("reportItem.accountType is None") if reportItem.accountLogin is None: raise ValueError("reportItem.accountLogin is None") if password is None: raise ValueError("password is None") print "earnRewards, begining rewards" bingRewards = BingRewards(httpHeaders, config) print "calling bing auth ", bingRewards.opener bingAuth = BingAuth(httpHeaders, bingRewards.opener) print "calling bingAuth.auth " bingAuth.authenticate(reportItem.accountType, reportItem.accountLogin, password) print "auth complete" reportItem.oldPoints = bingRewards.getRewardsPoints() print "old points: ", reportItem.oldPoints rewards = bfp.parseFlyoutPage(bingRewards.requestFlyoutPage(), bingCommon.BING_URL) print "parsed flyout page" print "bing rewards.process" results = bingRewards.process(rewards) print "bingrewards.printResults" bingRewards.printResults(results, True) reportItem.newPoints = bingRewards.getRewardsPoints() reportItem.lifetimeCredits = bingRewards.getLifetimeCredits() reportItem.pointsEarned = reportItem.newPoints - reportItem.oldPoints reportItem.pointsEarnedRetrying += reportItem.pointsEarned print print "%s - %s" % (reportItem.accountType, reportItem.accountLogin) print print "Points before: %6d" % reportItem.oldPoints print "Points after: %6d" % reportItem.newPoints print "Points earned: %6d" % reportItem.pointsEarned print "Lifetime Credits: %6d" % reportItem.lifetimeCredits print print "-" * 80 except AuthenticationError, e: reportItem.error = e print "AuthenticationError:\n%s" % e
def _bp(self, classobj): """ test reward parser :return: """ self.assertIsNotNone(classobj.isAchieved(), "should not be None") classobj.progressCurrent = 1 classobj.progressMax = 100 self.assertIsNotNone(classobj.progressPercentage(), "should not be None") page = '<div id="messageContainer"></div>' page += '<div id="bottomContainer"></div>' if isinstance(classobj, bdp.Reward): with open("test/dashhtml", "r") as fd: DASHPG = fd.readlines() DASHPG = "".join(DASHPG) self.assertIsNotNone(bdp.parseDashboardPage(DASHPG, bingCommon.ACCOUNT_URL), "should see rewards") if isinstance(classobj, bfp.RewardV1): self.assertIsNotNone(bfp.parseFlyoutPage(page, "http://bing"), "should not be None") self.assertIsNotNone(classobj.Type.Action.toStr(classobj.Type.Action.PASS), "should not be None") classobj.progressCurrent = 1 classobj.progressMax = 0 self.assertIsNotNone(classobj.progressPercentage(), "should not be None")
def earnRewards(config, httpHeaders, userAgents, reportItem, password): """Earns Bing! reward points and populates reportItem""" noException = False try: if reportItem is None: raise ValueError("reportItem is None") if reportItem.accountType is None: raise ValueError("reportItem.accountType is None") if reportItem.accountLogin is None: raise ValueError("reportItem.accountLogin is None") if password is None: raise ValueError("password is None") del reportItem.error reportItem.error = None reportItem.pointsEarned = 0 bingRewards = BingRewards(httpHeaders, userAgents, config) bingAuth = BingAuth(httpHeaders, bingRewards.opener) bingAuth.authenticate(reportItem.accountType, reportItem.accountLogin, password) reportItem.oldPoints = bingRewards.getRewardsPoints() rewards = bfp.parseFlyoutPage(bingRewards.requestFlyoutPage(), bingCommon.BING_URL) if verbose: bingRewards.printRewards(rewards) results = bingRewards.process(rewards) if verbose: print print ("-" * 80) print bingRewards.printResults(results, verbose) reportItem.newPoints = bingRewards.getRewardsPoints() reportItem.lifetimeCredits = bingRewards.getLifetimeCredits() reportItem.pointsEarned = reportItem.newPoints - reportItem.oldPoints reportItem.pointsEarnedRetrying += reportItem.pointsEarned print print ("%s - %s" % (reportItem.accountType, reportItem.accountLogin)) print print ("Points before: %6d" % reportItem.oldPoints) print ("Points after: %6d" % reportItem.newPoints) print ("Points earned: %6d" % reportItem.pointsEarned) print ("Lifetime Credits: %6d" % reportItem.lifetimeCredits) print print ("-" * 80) noException = True except AuthenticationError as e: reportItem.error = e print ("AuthenticationError:\n%s" % e) except HTMLParser.HTMLParseError as e: reportItem.error = e print ("HTMLParserError: %s" % e) except urllib.request.HTTPError as e: reportItem.error = e print ("The server couldn't fulfill the request.") print ("Error code: ", e.code) except urllib.request.URLError as e: reportItem.error = e print ("Failed to reach the server.") print ("Reason: ", e.reason) except SocketError as e: if e.errno != errno.ECONNRESET: raise # see http://stackoverflow.com/a/20568874/2147244 # for explanation of the problem reportItem.error = e print ("Connection reset by peer.") finally: if not noException: print print ("For: %s - %s" % (reportItem.accountType, reportItem.accountLogin)) print print ("-" * 80)