Example #1
0
def home(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect(
            reverse('account.views.login_page', args=[]))
    profile = request.user.profile
    try:
        profile.evernote_token = request.session['oauth_token']
        profile.evernote_token_expires_time = request.session['expires']
        profile.evernote_shard = request.session['edam_shard']
        profile.evernote_uid = request.session['edam_userId']
        profile.save()
        del request.session['oauth_token']
        del request.session['expires']
        del request.session['edam_shard']
        del request.session['edam_userId']
    except KeyError:
        pass
    if profile.evernote_token == "" \
            or profile.evernote_token_expires_time < datetime.now():
        everAuth = EvernoteAPI()
        callback_url = request.build_absolute_uri(everAuth.token_callback_url)
        return everAuth.get_token(request, callback_url)
    everAPI = EvernoteAPI(profile.evernote_token, profile.evernote_shard)
    allnotes = everAPI.get_notes_with_tag("evervim")
    allnotes = [{'title': n.title, 'id': n.guid} for n in allnotes]
    return render_to_response('home.html', {'notes': allnotes},
                              context_instance=RequestContext(request))
Example #2
0
def get_evernote_token(request):
    """ View that handles the callback from the Evernote OAuth call and
        stores the OAuth token for the user
    """
    if request.user.is_authenticated:
        everAuth = EvernoteAPI()
        credentials = everAuth.get_user_token(request)
        """ credentials is of the form: { 'oauth_token': token,
                                          'expires'    : datetime,
                                          'edam_shard' : shard,
                                          'edam_userId': uid }
        """
        try:
            expires_time = datetime.fromtimestamp(int(credentials['expires']))
        except TypeError:
            logging.error("Error parsing token expires time")
            expires_time = datetime.now()
        request.session['oauth_token'] = credentials['oauth_token']
        request.session['expires'] = expires_time
        request.session['edam_shard'] = credentials['edam_shard']
        request.session['edam_userId'] = credentials['edam_userId']
    return HttpResponseRedirect(settings.EVERNOTE_OAUTH_COMPLETE_URL)