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'))
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 #4
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'))
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 #6
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}
def return_slideshare_upload_form(request):
    check_login(request)
    session = request.session
    redirect_to_google_oauth = False
    if session.has_key('original-file-location'):
        del session['original-file-location']
    form = Form(request, schema=ImporterChoiceSchema)
    response = {'form':FormRenderer(form)}
    validate_form = form.validate()
    if validate_form:
        original_filename = session['original_filename']
        upload_to_google = form.data['upload_to_google']
        upload_to_ss = form.data['upload_to_ss']
        username = session['username']
        if (upload_to_ss=="true"):

            slideshow_id = upload_to_slideshare("saketkc",original_filename)
            session['slideshare_id'] = slideshow_id
        if (upload_to_google == "true"):
            if is_returning_google_user(username):
                print "RETURNING USER"
                redirect_to_google_oauth = False
                oauth_token_and_secret = get_oauth_token_and_secret(username)
                oauth_token = oauth_token_and_secret["oauth_token"]
                oauth_secret = oauth_token_and_secret["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
        else:
            print "NO GOOGLE FOUND"
        username = session['username']
        uploaded_filename = session['uploaded_filename']
        slideshare_details = get_details(slideshow_id)
        slideshare_download_url = get_slideshow_download_url(slideshare_details)
        session['transcript'] = get_transcript(slideshare_details)
        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>
      <link url="""+ "\"" +slideshare_download_url + "\"" +""" strength="2">SlideShare PPT Download Link</link>
    </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



        #print deposit_receipt.metadata #.get("dcterms_title")
        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}