def google_oauth_callback(request): url = request.host_url + request.path_qs url = url.replace('%2F', '/') if not request.session.has_key('saved_request_token'): return HTTPFound(location='/google_oauth') oauth = GoogleOAuth(request_token=request.session['saved_request_token']) oauth.authorize_request_token(request.session['saved_request_token'], url) oauth.get_access_token() session = request.session oauth_token = oauth.get_token_key() oauth_secret = oauth.get_token_secret() session['slideshare_oauth'] = { 'oauth_token': oauth_token, 'oauth_secret': oauth_secret } guploader = GooglePresentationUploader() guploader.authentincate_client_with_oauth2(oauth_token, oauth_secret) upload_to_gdocs = guploader.upload(session['original-file-path']) # Hint, tricky code here, get_first_revision_feed persist something on # guploader that is needed for the call to publish_presentation_on_web, # I'm not entering that rabit hole today! guploader.get_first_revision_feed() guploader.publish_presentation_on_web() resource_id = guploader.get_resource_id().split(':')[1] session['google-resource-id'] = resource_id if session.has_key('original-file-location'): del session['original-file-location'] raise HTTPFound(location=request.route_url('enhance'))
def google_oauth_callback(request): url = request.host_url + request.path_qs url = url.replace('%2F', '/') if not request.session.has_key('saved_request_token'): return HTTPFound(location='/google_oauth') oauth = GoogleOAuth(request_token=request.session['saved_request_token']) oauth.authorize_request_token(request.session['saved_request_token'], url) oauth.get_access_token() session = request.session connection = mdb.connect('localhost', 'root', 'fedora', 'cnx_oerpub_oauth') oauth_token = oauth.get_token_key() oauth_secret = oauth.get_token_secret() query = "INSERT INTO user(username,email,oauth_token,oauth_secret) VALUES(" + "'" + session[ 'username'] + "'" + "," + "'*****@*****.**'" + "," + "'" + oauth_token + "'" + "," + "'" + oauth_secret + "'" + ")" with connection: cursor = connection.cursor() cursor.execute(query) connection.close() guploader = GooglePresentationUploader() guploader.authentincate_client_with_oauth2(oauth_token, oauth_secret) upload_to_gdocs = guploader.upload(session['original-file-path']) guploader.get_first_revision_feed() guploader.publish_presentation_on_web() resource_id = guploader.get_resource_id().split(':')[1] session['google-resource-id'] = resource_id if session.has_key('original-file-location'): del session['original-file-location'] raise HTTPFound(location=request.route_url('enhance'))
def return_slideshare_upload_form(request): check_login(request) session = request.session redirect_to_google_oauth = False form = Form(request, schema=ImporterChoiceSchema) response = {'form':FormRenderer(form)} username = session['login'].username if form.validate(): original_filename = session['original_filename'] slideshow_id = None if form.data['importer'] == 'slideshare': slideshow_id = upload_to_slideshare("saketkc", original_filename) session['slideshare_id'] = slideshow_id if form.data['importer'] == 'google': if session.has_key('slideshare_oauth'): # RETURNING USER redirect_to_google_oauth = False oauth_token = session['slideshare_oauth']["oauth_token"] oauth_secret = session['slideshare_oauth']["oauth_secret"] guploader = GooglePresentationUploader() guploader.authentincate_client_with_oauth2(oauth_token,oauth_secret) guploader.upload(original_filename) guploader.get_first_revision_feed() guploader.publish_presentation_on_web() resource_id = guploader.get_resource_id().split(':')[1] session['google-resource-id'] = resource_id print "UPLOADING TO GOOGLE" else: print "NEW USER" redirect_to_google_oauth = True session['original-file-path'] = original_filename uploaded_filename = session['uploaded_filename'] if slideshow_id is not None: slideshare_details = get_details(slideshow_id) cnxml = """\ <featured-links> <!-- WARNING! The 'featured-links' section is read only. Do not edit below. Changes to the links section in the source will not be saved. --> <link-group type="supplemental"> <link url="""+ "\"" + uploaded_filename + "\""+""" strength="3">Download the original slides in PPT format</link>""" if slideshow_id is not None: cnxml += """<link url="""+ "\"" + get_slideshow_download_url(slideshare_details) + "\"" +""" strength="2">SlideShare PPT Download Link</link>""" cnxml += """\ </link-group> <!-- WARNING! The 'featured-links' section is read only. Do not edit above. Changes to the links section in the source will not be saved. --> </featured-links>""" session['cnxml'] += cnxml if redirect_to_google_oauth: raise HTTPFound(location=request.route_url('google_oauth')) raise HTTPFound(location=request.route_url('enhance')) return {'form' : FormRenderer(form),'conversion_flag': False, 'oembed': False}