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))
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)