class WhenGettingAnAccount(TestCase):
    def setUp(self):
        self.aweber = AWeberAPI(key, secret)
        self.aweber.adapter = MockAdapter()

        self.access_token = "1234"
        self.token_secret = "abcd"

    def test_when_getting_an_account(self):
        account = self.aweber.get_account(self.access_token, self.token_secret)
        self.assertEqual(type(account), AWeberEntry)
        self.assertEqual(account.id, 1)
        self.assertEqual(account.type, "account")
class WhenGettingAnAccount(TestCase):
    def setUp(self):
        self.aweber = AWeberAPI(key, secret)
        self.aweber.adapter = MockAdapter()

        self.access_token = '1234'
        self.token_secret = 'abcd'

    def test_when_getting_an_account(self):
        account = self.aweber.get_account(self.access_token, self.token_secret)
        self.assertEqual(type(account), AWeberEntry)
        self.assertEqual(account.id, 1)
        self.assertEqual(account.type, 'account')
Ejemplo n.º 3
0
def set_list_names(widgets):
    """Writes list names to registry record.

    :param widgets: object to read data from it
    :type widgets: Widgets object
    """
    consumer_key = widgets['consumer_key'].value
    consumer_secret = widgets['consumer_secret'].value
    access_token = widgets['access_token'].value
    access_secret = widgets['access_secret'].value

    aweber = AWeberAPI(consumer_key, consumer_secret)
    account = aweber.get_account(access_token, access_secret)

    api.portal.set_registry_record(
        'niteoweb.aweber.available_lists_record',
        [l.name for l in account.lists],
    )
Ejemplo n.º 4
0
class MyApp(object):

    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)

    def connect_to_AWeber_account(self):
        app_id = '98a30a69'
        authorization_url = 'https://auth.aweber.com/1.0/oauth/authorize_app/%s' % app_id
        print 'Go to this url in your browser: %s' % authorization_url
        authorization_code = raw_input('Type code here: ')

        auth = AWeberAPI.parse_authorization_code(authorization_code)
        consumer_key, consumer_secret, access_key, access_secret = auth
        print auth
        return auth

    def find_list(list):
        lists = self.account.lists.find(name=list)
        return lists[0]

    def find_subscriber(self):
        subscribers = self.account.findSubscribers(email="*****@*****.**")
        return subscribers[0]

    def add_subscriber(self, subscriber, _list):
        list_url = '/accounts/%s/lists/%s' % (self.account.id, _list.id)
        _list = self.account.load_from_url(list_url)

        try:
            new_subscriber = _list.subscribers.create(**subscriber)
            print new_subscriber.email

        except Exception, exc:
            print exc
Ejemplo n.º 5
0
def subscribe_to_aweber_mailinglist(email, fullname):
    """Subscribe a member to Aweber mailinglist.

    :param email: email address of user to subscribe
    :type email: string
    :param fullname: full name of the user related to previous argument
    :type fullname: string
    """

    consumer_key = api.portal.get_registry_record(
        'niteoweb.aweber.interfaces.IAweberSettings.consumer_key'
    )
    consumer_secret = api.portal.get_registry_record(
        'niteoweb.aweber.interfaces.IAweberSettings.consumer_secret'
    )
    access_token = api.portal.get_registry_record(
        'niteoweb.aweber.interfaces.IAweberSettings.access_token'
    )
    access_secret = api.portal.get_registry_record(
        'niteoweb.aweber.interfaces.IAweberSettings.access_secret'
    )
    list_name = api.portal.get_registry_record(
        'niteoweb.aweber.interfaces.IAweberSettings.list_name'
    )

    aweber = AWeberAPI(consumer_key, consumer_secret)

    account = aweber.get_account(access_token, access_secret)
    list_ = account.lists.find(name=list_name)[0]
    list_url = '/accounts/%s/lists/%s' % (account.id, list_.id)
    list_ = account.load_from_url(list_url)

    # create a subscriber
    params = {
        'email': email,
        'name': fullname,
    }
    list_.subscribers.create(**params)
Ejemplo n.º 6
0
class AWeberInterface(object):

    def __init__(self):
        # replace XXX with your keys
        consumer_key = 'Ak7W3K2vE3pODdOyag0t5X79'
        consumer_secret = 'ekxdnHs8aPgHIlI6RBLk3BynpylWEHCzSr4042vP'
        self.access_token = 'Agv7HS28IZoTDI05Zt1LuLIt'
        self.access_secret = 's2NucR72EL8S9KKmlriAhNNCP04mG1tqOsCkII5O'

        self.application = AWeberAPI(consumer_key, consumer_secret)
        self.account = self.application.get_account(self.access_token, self.access_secret)
        print self.application
        print self.account

    def connect_to_AWeber_account(self):
        app_id = '7XXXXXX8'
        authorization_url = 'https://auth.aweber.com/1.0/oauth/authorize_app/%s' % app_id
        print 'Go to this url in your browser: %s' % authorization_url
        authorization_code = raw_input('Type code here: ')

        auth = AWeberAPI.parse_authorization_code(authorization_code)
        consumer_key, consumer_secret, access_key, access_secret = auth
        print auth
        return auth

    def find_list(self):
        lists = self.account.lists.find(name="makerspace")
        return lists[0]

    def find_subscriber(self):
        subscribers = self.account.findSubscribers(email="*****@*****.**")
        return subscribers[0]

    def add_subscriber(self, subscriber, _list):
        list_url = '/accounts/%s/lists/%s' % (self.account.id, _list.id)
        print list_url
        _list = self.account.load_from_url(list_url)
        print _list

        success = False
        data = {}

        try:
            new_subscriber = _list.subscribers.create(**subscriber)
            print new_subscriber
            success = True
            data = {
                'email': new_subscriber.email
            }

        except APIException, exc:
            print APIException
            print exc
            report = exc.message.split(':')
            # WebServiceError: email: Subscriber already subscribed and has not confirmed.

            data = {
                'class': report[0].strip(),
                'category': report[1].strip(),
                'status': report[2].strip()
            }

        except Exception, exc:
            print exc
Ejemplo n.º 7
0
from aweber_api import AWeberAPI, APIException

email           = str(sys.argv[1])
validation_code = str(sys.argv[2])

#Your Credentials
consumer_key    =  'cred'
consumer_secret =  'en'
access_key      =  'ti'
access_secret   =  'als'

#list_id of the list you want to subscribe the user
list_id         =  'yourlistid'
aweber          = AWeberAPI(consumer_key, consumer_secret)

try:
    account = aweber.get_account(access_key, access_secret)
    list_url = '/accounts/%s/lists/%s' % (account.id, list_id)
    list_ = account.load_from_url(list_url)

    # create a subscriber
    params = {
        'email': email,
        'ad_tracking': validation_code,
    }

    subscribers = list_.subscribers
    new_subscriber = subscribers.create(**params)

except APIException, exc:
    print exc
# 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)
account = aweber.get_account(access_key, access_secret)

for member in data['members']:
    try:
        print 'Member: %s' % member['personal']['email']
        list_url = '/accounts/%s/lists/%s' % (account.id, members_list_id)
        list_ = account.load_from_url(list_url)

        # create a subscriber
        params = {
            'email': member['personal']['email'],
        }
        subscribers = list_.subscribers
        new_subscriber = subscribers.create(**params)

        # success!