Exemple #1
0
class TestOauth(unittest.TestCase):
    def setUp(self):
        self.smugmug = SmugMug(api_key=API_KEY, api_version='1.3.0', app_name='TestApp', oauth_secret=OAUTH_SECRET)

    def test_get_request_token(self):
        self.smugmug.auth_getRequestToken()
        self.assertNotEqual(self.smugmug.oauth_token, None)
        self.assertNotEqual(self.smugmug.oauth_token_secret, None)
        self.smugmug.reset_auth()

    def test_get_access_token(self):
        self.smugmug.auth_getAccessToken()
        self.assertNotEqual(self.smugmug.oauth_token, None)
        self.assertNotEqual(self.smugmug.oauth_token_secret, None)
        self.smugmug.reset_auth()

    def test_request_signature(self):
        url = 'http://api.smugmug.com/services/api/json/'
        parameters = dict(
            method = 'smugmug.albums.get',
            NickName = 'williams'
        )
        timestamp = 1341423551
        nonce = 'b7cdabcabc3c4f7f91508da3bca9798f'
        signed_args = self.smugmug._get_oauth_request_params(url=url, parameters=parameters, method='POST', timestamp=timestamp, nonce=nonce)
        self.assertEqual(signed_args['oauth_signature'], 'f++GOXf9BhSVhGy1dxGSbmaA0ng=')
Exemple #2
0
def smug_auth():
    smugmug = SmugMug(api_key=config.get('smugmug', 'key'), oauth_secret=config.get('smugmug', 'secret'), api_version="1.3.0", app_name="flickr-to-smugmug")
    if config.has_option('smugmug', 'oauth_token'):
        smugmug.set_oauth_token(config.get('smugmug', 'oauth_token'), config.get('smugmug', 'oauth_token_secret'))
    else:
        smugmug.auth_getRequestToken()
        get_input("Authorize app at %s\n\nPress Enter when complete.\n" % (smugmug.authorize(access='Full', perm='Modify')))
        smugmug.auth_getAccessToken()
        config.set('smugmug', 'oauth_token', smugmug.oauth_token)
        config.set('smugmug', 'oauth_token_secret', smugmug.oauth_token_secret)
        save()
    return smugmug
Exemple #3
0
    def _smugmugOauthRequestToken(self, access="Public", perm="Read"):
        smugmug = SmugMug(api_key=self.api_key, oauth_secret=self.oauth_secret, app_name=self.app_name)

        # Get a token that is short-lived (probably about 5 minutes) and can be used
        # only to setup authorization at SmugMug
        response = smugmug.auth_getRequestToken()

        # Get the URL that the user must visit to authorize this app (implicilty includes the request token in the URL)
        url = smugmug.authorize(access=access, perm=perm)
        return url, response['Auth']  # (should contain a 'Token')
Exemple #4
0
def smugmugOauthRequestToken(access="Public", perm="Read"):
    smugmug = SmugMug(api_key=API_KEY,
                      oauth_secret=OAUTH_SECRET,
                      app_name=APP_NAME)

    # Get a token that is short-lived (probably about 5 minutes) and can be used
    # only to setup authorization at SmugMug
    response = smugmug.auth_getRequestToken()

    # Get the URL that the user must visit to authorize this app (implicilty includes the request token in the URL)
    url = smugmug.authorize(access=access, perm=perm)

    return url, response['Auth']  # (should contain a 'Token')
Exemple #5
0
def smugmugOauthGetAccessToken(requestToken):
    # Use the request token to log in (which should be authorized now)
    smugmug = SmugMug(api_key=API_KEY, oauth_secret=OAUTH_SECRET,
                      oauth_token=requestToken['Token']['id'],
                      oauth_token_secret=requestToken['Token']['Secret'],
                      app_name=APP_NAME)
 
    # The request token is good for 1 operation: to get an access token.
    response = smugmug.auth_getRequestToken()

    # The access token should be good until the user explicitly
    # disables it at smugmug.com in their settings panel.
    return response['Auth'];
Exemple #6
0
def smugmugOauthGetAccessToken(requestToken):
    # Use the request token to log in (which should be authorized now)
    smugmug = SmugMug(api_key=API_KEY,
                      oauth_secret=OAUTH_SECRET,
                      oauth_token=requestToken['Token']['id'],
                      oauth_token_secret=requestToken['Token']['Secret'],
                      app_name=APP_NAME)

    # The request token is good for 1 operation: to get an access token.
    response = smugmug.auth_getRequestToken()

    # The access token should be good until the user explicitly
    # disables it at smugmug.com in their settings panel.
    return response['Auth']
Exemple #7
0
#!/usr/bin/env python

from __future__ import print_function
from smugpy import SmugMug
import sys

#Aliasing for differences in Python 2.x and 3.x
if sys.version_info < (3,):
    get_input = raw_input
else:
    get_input = input

API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXX"
OAUTH_SECRET = "YYYYYYYYYYYYYYYYYYYYYYY"

smugmug = SmugMug(api_key=API_KEY, oauth_secret=OAUTH_SECRET, app_name="TestApp")

#Oauth handshake
smugmug.auth_getRequestToken()
get_input("Authorize app at %s\n\nPress Enter when complete.\n" % (smugmug.authorize()))   
smugmug.auth_getAccessToken()

albums = smugmug.albums_get(NickName="williams") # Moon River Photography, thanks Andy!
for album in albums["Albums"]:
    print("%s, %s" % (album["id"], album["Title"]))
Exemple #8
0
#!/usr/bin/env python

from __future__ import print_function
from smugpy import SmugMug
import sys

#Aliasing for differences in Python 2.x and 3.x
if sys.version_info < (3, ):
    get_input = raw_input
else:
    get_input = input

API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXX"
OAUTH_SECRET = "YYYYYYYYYYYYYYYYYYYYYYY"

smugmug = SmugMug(api_key=API_KEY,
                  oauth_secret=OAUTH_SECRET,
                  app_name="TestApp")

#Oauth handshake
smugmug.auth_getRequestToken()
get_input("Authorize app at %s\n\nPress Enter when complete.\n" %
          (smugmug.authorize()))
smugmug.auth_getAccessToken()

albums = smugmug.albums_get(
    NickName="williams")  # Moon River Photography, thanks Andy!
for album in albums["Albums"]:
    print("%s, %s" % (album["id"], album["Title"]))