Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #5
0
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)