def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     sub_url = '/accounts/1/lists/303449/subscribers/2'
     self.subscriber = self.aweber.load_from_url(sub_url)
     self.subscriber.name = 'Gary Oldman'
     self.subscriber.custom_fields['New Custom Field'] = 'Cookies'
 def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     self.list = self.aweber.load_from_url('/accounts/1/lists/303449')
     self.account = self.aweber.load_from_url('/accounts/1')
     self.custom_field = self.aweber.load_from_url(
         '/accounts/1/lists/303449/custom_fields/1')
 def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     subscriber_url = '/accounts/1/lists/303449/subscribers/1'
     new_list_url = '/accounts/1/lists/505454'
     self.subscriber = self.aweber.load_from_url(subscriber_url)
     self.subscriber._diff['name'] = 'Joe Schmoe'
     self.list = self.aweber.load_from_url(new_list_url)
     self.move_subscriber()
Example #4
0
    def __init__(self):
        # replace XXX with your keys
        consumer_key = 'AzjDMRiX4wbhtZEdky23tDbv'
        consumer_secret = 'PibOkYKyhTQrLKIAKpUdfNxo9cOmsf8Zb7BIRkbY'
        self.access_token = 'AgzINUhc1zx755e91a2nnCnc'
        self.access_secret = 'qMATjcw05qw0rk8viqpoGTCG2AJlKzuZKcptYrlk'

        self.application = AWeberAPI(consumer_key, consumer_secret)
        self.account = self.application.get_account(self.access_token, self.access_secret)
Example #5
0
    def setUp(self):
        self.aweber = AWeberAPI('1', '2')
        self.aweber.adapter = MockAdapter()
        cf_url = '/accounts/1/lists/303449/custom_fields'
        self.cf = self.aweber.load_from_url(cf_url)

        self.aweber.adapter.requests = []
        self.resp = self.cf.create(name='Wedding Song')
        self.create_req = self.aweber.adapter.requests[0]
        self.get_req = self.aweber.adapter.requests[1]
Example #6
0
    def setUp(self):
        self.aweber = AWeberAPI('1', '2')
        self.aweber.adapter = MockAdapter()
        url = '/accounts/1/lists/303449/any_collection'
        self.any_collection = self.aweber.load_from_url(url)

        self.aweber.adapter.requests = []
        self.resp = self.any_collection.create(
            a_string='Bob', a_dict={'Color': 'blue'}, a_list=['apple'])
        self.create_req = self.aweber.adapter.requests[0]
        self.get_req = self.aweber.adapter.requests[1]
Example #7
0
def getKey():
    url = 'http://localhost:5000'
    consumer_key = 'AkahU7LuENNRNz4YEU1t0gYf'
    consumer_secret = 'zgyp6JxNMDWH0uqgdet8MQy4qb3UZh7S6dDsEnwX'
    aweber = AWeberAPI(consumer_key, consumer_secret)

    request_token, request_token_secret = aweber.get_request_token(url +
                                                                   '/callback')
    print request_token
    print request_token_secret

    print aweber.authorize_url

    redirect(authorization_url)

    aweber.user.verifier = verifier
    aweber.user.request_token = request_token
    aweber.user.token_secret = request_token_secret
    access_token, access_token_secret = aweber.get_access_token()

    print access_token
 def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     sub_url = '/accounts/1/lists/303449/subscribers/2'
     self.subscriber = self.aweber.load_from_url(sub_url)
 def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     self.list_ = self.aweber.load_from_url('/accounts/1/lists/303449')
Example #10
0
 def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     cf_url = '/accounts/1/lists/505454/custom_fields'
     self.cf = self.aweber.load_from_url(cf_url)
     self.aweber.adapter.requests = []
import os
import json
from aweber_api import AWeberAPI, APIException

consumer_key = os.environ['AWEBER_CONSUMER_KEY']
consumer_secret = os.environ['AWEBER_CONSUMER_SECRET']

# create new instance of AWeberAPI
application = AWeberAPI(consumer_key, consumer_secret)

# get a request token
request_token, token_secret = application.get_request_token('oob')

# pylint: disable=E1601
print 'Go to this url in your browser: %s' % application.authorize_url

# prompt for verifier code
code = raw_input('Type code here: ')

# exchange request token + verifier code for access token
application.user.request_token = request_token
application.user.token_secret = token_secret
application.user.verifier = code
access_key, access_secret = application.get_access_token()

members_list_id = os.environ['MEMBERS_LIST_ID']
prospects_list_id = os.environ['PROSPECTS_LIST_ID']

data = json.load(open('members-and-prospects.json'))

aweber = AWeberAPI(consumer_key, consumer_secret)
Example #12
0
 def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     self.lists = self.aweber.load_from_url('/accounts/1/lists')
     self.aweber.adapter.requests = []
Example #13
0
from flask import Flask, redirect, request
from aweber_api import AWeberAPI

app = Flask(__name__)
url = 'http://*****:*****@app.route('/')
def hello():
    request_token, request_token_secret = aweber.get_request_token(url +
                                                                   '/callback')
    print "request token " + request_token
    print "secret " + request_token_secret
    aweber.user.token_secret = request_token_secret

    authorization_url = aweber.authorize_url

    return redirect(authorization_url)


@app.route('/callback')
def callback():
    request_token = request.args.get('oauth_token')
    verifier = request.args.get('oauth_verifier')
    aweber.user.verifier = verifier
    aweber.user.request_token = request_token

    print "verifier " + verifier
    def setUp(self):
        self.aweber = AWeberAPI(key, secret)
        self.aweber.adapter = MockAdapter()

        self.access_token = '1234'
        self.token_secret = 'abcd'
 def setUp(self):
     self.aweber = AWeberAPI(key, secret)
 def setUp(self):
     self.aweber = AWeberAPI('1', '2')
     self.aweber.adapter = MockAdapter()
     self.account = self.aweber.load_from_url('/accounts/1')
Example #17
0
def notify():
    message = loads(request.data)
    algorithm = sha1()
    algorithm.update(CLICKBANK)
    dictionary = loads(''.join([
        character for character in AES.new(algorithm.hexdigest(
        )[:32], AES.MODE_CBC, message['iv'].decode('base64')).decrypt(
            message['notification'].decode('base64')).strip()
        if ord(character) >= 32
    ]))
    billing = {}
    try:
        billing = dictionary['customer']['billing']
    except KeyError:
        pass
    email = billing.get('email', '')
    if not email:
        abort(500)
    name = billing.get('fullName', '')
    customer = g.mysql.query(
        models.customer).filter(models.customer.user_email == email).first()
    if not customer:
        customer = models.customer(
            **{
                'display_name': name,
                'user_activation_key': '',
                'user_email': email,
                'user_login': email,
                'user_nicename': name,
                'user_pass': '',
                'user_registered': datetime.now(),
                'user_status': 1,
                'user_url': '',
            })
        aweber = AWeberAPI(
            AWEBER['consumer_key'],
            AWEBER['consumer_secret'],
        ).get_account(
            AWEBER['access_key'],
            AWEBER['access_secret'],
        )
        try:
            aweber.load_from_url('/accounts/%(account_id)s/lists/%(list_id)s' %
                                 {
                                     'account_id': AWEBER['account_id'],
                                     'list_id': AWEBER['list_id'],
                                 }).subscribers.create(**{
                                     'email': email,
                                     'name': name,
                                 })
        except Exception:
            report_exc_info()
            pass
    type = dictionary.get('transactionType', '')
    if type == 'SALE':
        customer.user_status = 1
    if type == 'RFND':
        customer.user_status = 0
    if type == 'CGBK':
        customer.user_status = 0
    if type == 'FEE':
        customer.user_status = 1
    if type == 'BILL':
        customer.user_status = 1
    if type == 'TEST_SALE':
        customer.user_status = 1
    if type == 'TEST_BILL':
        customer.user_status = 1
    if type == 'TEST_RFND':
        customer.user_status = 0
    if type == 'TEST_FEE':
        customer.user_status = 1
    g.mysql.add(customer)
    g.mysql.commit()
    g.mysql.refresh(customer)
    order = models.order(
        **{
            'affiliate': dictionary.get('affiliate', ''),
            'amounts_account': dictionary.get('totalAccountAmount', 0.00),
            'amounts_order': dictionary.get('totalOrderAmount', 0.00),
            'amounts_shipping': dictionary.get('totalShippingAmount', 0.00),
            'amounts_tax': dictionary.get('totalTaxAmount', 0.00),
            'currency': dictionary.get('currency', ''),
            'customer_id': customer.ID,
            'language': dictionary.get('orderLanguage', ''),
            'payment_method': dictionary.get('paymentMethod', ''),
            'receipt': dictionary.get('receipt', ''),
            'role': dictionary.get('role', ''),
            'timestamp': dictionary.get('transactionTime', ''),
            'tracking_codes': dictionary.get('trackingCodes', []),
            'type': type,
            'vendor': dictionary.get('vendor', ''),
            'vendor_variables': dictionary.get('vendorVariables', {}),
        })
    g.mysql.add(order)
    for item in dictionary.get('lineItems', []):
        g.mysql.add(
            models.order_product(
                **{
                    'amount': item.get('accountAmount', 0.00),
                    'item_number': item.get('itemNo', ''),
                    'order': order,
                    'recurring': item.get('recurring', ''),
                    'shippable': item.get('shippable', ''),
                    'title': item.get('productTitle', ''),
                    'url': item.get('downloadUrl', ''),
                }))
    g.mysql.commit()
    return ('', 204)