Exemple #1
0
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'))
Exemple #2
0
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'))
Exemple #3
0
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}