Ejemplo n.º 1
0

class MainPage(webapp2.RequestHandler):
    def get(self):
        template = JINJA_ENVIRONMENT.get_template('home.html')
        template_values = {}
        self.response.write(template.render(template_values))


class SecondPage(webapp2.RequestHandler):
    def post(self):
        self.response.write(
            '<!doctype html><html><body>Running simulation.<pre>')
        num_trials = int(cgi.escape(self.request.get('numTrials')))

        price, volatility, option_data = main.run(num_trials)
        template = JINJA_ENVIRONMENT.get_template('results.html')
        template_values = {
            'option_data': option_data,
            'price': price,
            'volatility': volatility
        }
        self.response.write(template.render(template_values))


application = webapp2.WSGIApplication([
    ('/', MainPage),
    ('/run', SecondPage),
],
                                      debug=True)
Ejemplo n.º 2
0
#!/usr/bin/env python

import webapp2

from InterstitialEndpoint import InterstitialEndpoint
from OauthCallbackEndpoint import OauthCallbackEndpoint
from MergeEndpoint import MergeEndpoint
from ErrorLogEndpoint import ErrorLogEndpoint
from MainPageEndpoint import MainPageEndoint

app = webapp2.WSGIApplication([
    ('/interstitial', InterstitialEndpoint),
    (r'/oauth_callback/(.*)', OauthCallbackEndpoint),
    ('/merge', MergeEndpoint),
    ('/errorlog', ErrorLogEndpoint),
    ('/', MainPageEndoint),
],
                              debug=True)
Ejemplo n.º 3
0
            self.redirect('https://www.gdgkl.org')
        else:
            self.redirect('//' + self.request.host + '/io/' +
                          '/'.join(path[2:]))


class Io2018(webapp2.RequestHandler):
    def get(self, *args, **kwargs):
        path = self.request.path_qs.split('/')
        if (path[1] != 'io2018'):
            self.redirect('https://www.gdgkl.org')
        else:
            self.redirect('//' + self.request.host + '/io/' +
                          '/'.join(path[2:]))


class Io18(webapp2.RequestHandler):
    def get(self, *args, **kwargs):
        path = self.request.path_qs.split('/')
        if (path[1] != 'io18'):
            self.redirect('https://www.gdgkl.org')
        else:
            self.redirect('//' + self.request.host + '/io/' +
                          '/'.join(path[2:]))


app = webapp2.WSGIApplication([('/io.*', SlashRedirect),
                               ('/ioxkl18.*', Ioxkl18),
                               ('/io18extended.*', Io18extended),
                               ('/io2018.*', Io2018), ('/io18.*', Io18)],
                              debug=True)
Ejemplo n.º 4
0






app = webapp2.WSGIApplication([
   ('/', MainPage),
   ('/character',Character),
   ('/cat',CatStory),
   ('/cat1',Cat1),
   ('/cat2',Cat2),
   ('/catB', CatB),
   ('/catA', CatA),
   ('/panda',PandaStory),
   ('/panda1', Panda1),
   ('/pandaA', PandaA),
   ('/pandaB', PandaB),
   ('/pandapostA', PandaPostA),
   ('/pandapostB', PandaPostB),
   ('/dog',DogStory),
   ('/dog1', Dog1),
   ('/dogpreA', DogpreA),
   ('/dogpreB', DogpreB),
   ('/dog2A', Dog2A),
   ('/dog2B', Dog2B),


], debug=True)
Ejemplo n.º 5
0
        except Exception:
            logging.error('%s', traceback.format_exc())
            self.error(500)   
            
            
            #Configurations des différentes routes
app = webapp2.WSGIApplication(
    #Test du serveur web
    [webapp2.Route(r'/', handler=MainPageHandler,
                    methods=['GET']),
     
    #Chargement et suppression de des jeux videos ainsi que les heros
    webapp2.Route(r'/jeux', handler=ChargementHandler,
                  methods=['PUT', 'DELETE']),
    
    webapp2.Route(r'/jeux', handler=JeuxHandler,
                  methods=['GET', 'DELETE']),
    
    webapp2.Route(r'/jeux/<idJeu>', handler=JeuxHandler,
                  methods=['GET', 'PUT', 'DELETE']),
     
    
    webapp2.Route(r'/jeux/<idJeu>/hero', handler=HeroHandler, 
                  methods=['GET'])
    ],
                              debug=True)
                 
                
            
            
            
            
Ejemplo n.º 6
0
Archivo: main.py Proyecto: ikuchan/hat
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import webapp2
import json


class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Hello world!')


class JobHandler(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-type'] = 'application/json'
        obj = {
            'success': 'hogehoge',
            'test': 'fugafuga',
        }
        self.response.out.write(json.dumps(obj))


app = webapp2.WSGIApplication([('/', JobHandler)], debug=True)
Ejemplo n.º 7
0
        items = Item.query().fetch()
        your_items = Item.query().filter(Item.user_id == my_user.user_id()).order(-Item.created_on).fetch()
        others_items = Item.query().order(-Item.created_on).fetch()

        my_dict = {
            'auth_url': auth_url,
            'greeting': greeting,
            'your_own_items': your_items,
            'everyones_items': others_items,
        }
        self.response.write(main_temp.render(my_dict))
class AboutUsHandler(webapp2.RequestHandler):
    def get(self):
        aboutuspage = jinja_current_dir.get_template("templates/aboutus.html")
        my_user, auth_url, greeting = get_user_info()

        my_dict = {
            'auth_url': auth_url,
            'greeting': greeting
        }

        self.response.write(aboutuspage.render(my_dict))

app = webapp2.WSGIApplication([
    ('/', MainPage),
    ('/new-post', ItemHandler),
    ('/my-posts', MyPostsHandler),
    ('/details', DetailItemHandler),
    ('/aboutus', AboutUsHandler)
], debug=True)
Ejemplo n.º 8
0
import webapp2


class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write(
            'hello from some random URL! <br> Here is a picture of a turtle: <br><img src="/img/Turtles.jpg">'
        )


class CatchAllHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('hello from some random URL after /one/')


app = webapp2.WSGIApplication([('/one/?', MainHandler),
                               ('/one.*', CatchAllHandler)],
                              debug=True)
Ejemplo n.º 9
0
                deal.deal_type = "bundle"
                tags.extend(levr.tagger(secondary_name))
                deal.secondary_name = secondary_name
            else:
                deal.deal_type = "single"

            deal.businessID = business.key().__str__()
            deal.business_name = business_name
            deal.date_start = datetime.now()
            deal.deal_status = "active"
            deal.address_string = full_address
            deal.tags = tags

            logging.debug(tags)
            logging.debug(deal)
            logging.debug(business)
            deal.put()
            business.put()
            self.response.set_status(200)
            self.response.out.write('we good.')
            self.redirect('/new')
        except:
            levr.log_error()
            self.response.set_status(500)
            self.response.out.write('exception')


app = webapp2.WSGIApplication([('/merchants/deal', DealHandler),
                               ('/merchants/deal/upload', DealUploadHandler)],
                              debug=True)
Ejemplo n.º 10
0
				commented_post = post_id.get()

				comment = Comment()
				comment.comment_text = comment_text
				comment.owner_user = myuser_key
				comment_key = comment.put()
				commented_post.comments.insert(0,comment_key)
				commented_post.put()
			self.redirect('/')

		

# starts the web application we specify the full routing table here as well
app = webapp2.WSGIApplication([
	('/', MainPage,),
	('/upload', UploadHandler),
	('/download', DownloadHandler),
	('/profile', Profile),
	('/search', Search),
	('/display', Display),
	('/view', View)
	
	
], debug=True)
	


			


Ejemplo n.º 11
0
        super(FeatureObserverPopularityHandler, self).get()


class FeatureBucketsHandler(common.BaseHandler):
    def get(self, type):
        if type == 'cssprops':
            properties = sorted(
                models.CssPropertyHistogram.get_all().iteritems(),
                key=lambda x: x[1])
        else:
            properties = sorted(
                models.FeatureObserverHistogram.get_all().iteritems(),
                key=lambda x: x[1])

        self.response.headers[
            'Content-Type'] = 'application/json;charset=utf-8'
        return self.response.write(
            json.dumps(properties, separators=(',', ':')))


app = webapp2.WSGIApplication([
    ('/data/timeline/cssanimated', AnimatedTimelineHandler),
    ('/data/timeline/csspopularity', PopularityTimelineHandler),
    ('/data/timeline/featurepopularity', FeatureObserverTimelineHandler),
    ('/data/csspopularity', CSSPopularityHandler),
    ('/data/cssanimated', CSSAnimatedHandler),
    ('/data/featurepopularity', FeatureObserverPopularityHandler),
    ('/data/blink/(.*)', FeatureBucketsHandler),
],
                              debug=settings.DEBUG)
Ejemplo n.º 12
0
            <div><input type="submit" value="Sign Guestbook"></div>
          </form>
          <hr>
          <form>Guestbook name: <input value="%s" name="guestbook_name">
          <input type="submit" value="switch"></form>
        </body>
      </html>""" % (urllib.urlencode({'guestbook_name': guestbook_name}),
                          cgi.escape(guestbook_name)))


class Guestbook(webapp2.RequestHandler):
  def post(self):
    # We set the same parent key on the 'Greeting' to ensure each greeting is in
    # the same entity group. Queries across the single entity group will be
    # consistent. However, the write rate to a single entity group should
    # be limited to ~1/second.
    guestbook_name = self.request.get('guestbook_name')
    greeting = Greeting(parent=guestbook_key(guestbook_name))

    if users.get_current_user():
      greeting.author = users.get_current_user()

    greeting.content = self.request.get('content')
    greeting.put()
    self.redirect('/?' + urllib.urlencode({'guestbook_name': guestbook_name}))


app = webapp2.WSGIApplication([('/', MainPage),
                               ('/sign', Guestbook)],
                              debug=True)
Ejemplo n.º 13
0
                    <input value="{guestbook_name}" name="guestbook_name">
                    <input type="submit" value="switch">
                </form>
              </body>
            </html>""").format(
                blockquotes='\n'.join(greeting_blockquotes),
                sign=urllib.urlencode({'guestbook_name': guestbook_name}),
                guestbook_name=cgi.escape(guestbook_name)))


# [START submit]
class SubmitForm(webapp2.RequestHandler):
    def post(self):
        # We set the parent key on each 'Greeting' to ensure each guestbook's
        # greetings are in the same entity group.
        guestbook_name = self.request.get('guestbook_name')
        greeting = Greeting(parent=ndb.Key("Book",
                                           guestbook_name or "*notitle*"),
                            content=self.request.get('content'))
        greeting.put()
# [END submit]
        self.redirect('/?' + urllib.urlencode(
            {'guestbook_name': guestbook_name}))


app = webapp2.WSGIApplication([
    ('/', MainPage),
    ('/sign', SubmitForm)
])
# [END all]
Ejemplo n.º 14
0
template_dir = os.path.join(os.path.dirname(__file__), "templates")
jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir),
                               autoescape=False)


class BaseHandler(webapp2.RequestHandler):
    def write(self, *a, **kw):
        return self.response.out.write(*a, **kw)

    def render_str(self, template, **params):
        t = jinja_env.get_template(template)
        return t.render(params)

    def render(self, template, **kw):
        return self.write(self.render_str(template, **kw))

    def render_template(self, view_filename, params=None):
        if params is None:
            params = {}
        template = jinja_env.get_template(view_filename)
        return self.response.out.write(template.render(params))


class MainHandler(BaseHandler):
    def get(self):
        return self.render_template("fakebook.html")


app = webapp2.WSGIApplication([webapp2.Route('/', MainHandler)], debug=True)
Ejemplo n.º 15
0
        list2=0
        if mytwitter!=None:
            for i in mytwitter.followers:
                    list1=list1+1
            for j in mytwitter.following:
                    list2=list2+1

        module_part = ndb.Key('TweetAll', 'master')
        module = module_part.get()
        tweetlist=[]
        tweetname=[]
        if module!=None:
            for i in reversed(module.alltweets):
                tweetlist.append(i)
            tweetlist = tweetlist[:50]
            for j in reversed(module.uname):
                tweetname.append(j)
            tweetname=tweetname[:50]
        tweetz=zip(tweetname,tweetlist)
        www=zip(z,list3)
        template_values = {'url' : url,'url_string' : url_string,'user' : user,'welcome' : welcome,'mytwitter' : mytwitter,'first':first,'lastman':lastman,'second':second,'list3':list3,'list1':list1,'list2':list2,'tweetz':tweetz,"www":www}
        template = JINJA_ENVIRONMENT.get_template('main.html')
        self.response.write(template.render(template_values))






app = webapp2.WSGIApplication([('/', MainPage),('/name', Name),('/edit',Edit),('/userprofile/(.*)',UserProfile),('/update/(.*)',Update)], debug=True)
Ejemplo n.º 16
0
        if u:
            self.login(u)
            self.redirect('/')
        else:
            msg = 'Invalid login'
            self.render('login-form.html', error=msg)


class Logout(BlogHandler):
    def get(self):
        self.logout()
        self.redirect('/')


app = webapp2.WSGIApplication([
    ('/', BlogFront),
    ('/([0-9]+)/editpost', EditPost),
    ('/([0-9]+)/deletepost', DeletePost),
    ('/([0-9]+)/addcomment', AddComment),
    ('/([0-9]+)/togglelike', ToggleLike),
    ('/([0-9]+)/([0-9]+)/editcomment', EditComment),
    ('/([0-9]+)/([0-9]+)/deletecomment', DeleteComment),
    ('/([0-9]+)', PostPage),
    ('/newpost', NewPost),
    ('/signup', Register),
    ('/login', Login),
    ('/logout', Logout),
    ('/deletepostmessage', DeleteCommentMsg),
],
                              debug=True)
Ejemplo n.º 17
0
app = webapp2.WSGIApplication([
    webapp2.Route(r'/', landing_handler[tba_config.CONFIG['landing_handler']],
                  'landing'),
    webapp2.Route(r'/about', AboutHandler, 'about'),
    webapp2.Route(r'/account', AccountOverview, 'account-overview'),
    webapp2.Route(r'/account/edit', AccountEdit, 'account-edit'),
    webapp2.Route(r'/account/register', AccountRegister, 'account-register'),
    webapp2.Route(r'/apidocs', ApiDocumentationHandler, 'api-documentation'),
    webapp2.Route(r'/contact', ContactHandler, 'contact'),
    webapp2.Route(r'/event/<event_key>', EventDetail, 'event-detail'),
    webapp2.Route(r'/event/<event_key>/feed', EventRss, 'event-rss'),
    webapp2.Route(r'/events', EventList, 'event-list'),
    webapp2.Route(r'/events/<year:[0-9]+>', EventList, 'event-list'),
    webapp2.Route(r'/gameday', GamedayHandler, 'gameday'),
    webapp2.Route(r'/gameday2', Gameday2Controller, 'gameday2'),
    webapp2.Route(r'/hashtags', HashtagsHandler, 'hashtags'),
    webapp2.Route(r'/insights', InsightsOverview, 'insights'),
    webapp2.Route(r'/insights/<year:[0-9]+>', InsightsDetail,
                  'insights-detail'),
    webapp2.Route(r'/logout', AccountLogout, 'account-logout'),
    webapp2.Route(r'/match/<match_key>', MatchDetail, 'match-detail'),
    webapp2.Route(r'/opr', OprHandler, 'opr'),
    webapp2.Route(r'/record', RecordHandler, 'record'),
    webapp2.Route(r'/search', SearchHandler, 'search'),
    webapp2.Route(r'/suggest/event/webcast', SuggestEventWebcastController,
                  'suggest-event-webcast'),
    webapp2.Route(r'/suggest/match/video', SuggestMatchVideoController,
                  'suggest-match-video'),
    webapp2.Route(r'/suggest/team/media', SuggestTeamMediaController,
                  'suggest-team-media'),
    webapp2.Route(r'/team/<team_number:[0-9]+>', TeamCanonical,
                  'team-canonical'),
    webapp2.Route(r'/team/<team_number:[0-9]+>/<year:[0-9]+>', TeamDetail,
                  'team-detail'),
    webapp2.Route(r'/team/<team_number:[0-9]+>/history', TeamHistory,
                  'team-history'),
    webapp2.Route(r'/teams', TeamList, 'team-list'),
    webapp2.Route(r'/teams/<page:[0-9]+>', TeamList, 'team-list'),
    webapp2.Route(r'/thanks', ThanksHandler, 'thanks'),
    webapp2.Route(r'/webcasts', WebcastsHandler, 'webcasts'),
    webapp2.Route(r'/_/live-event/<event_key>/<timestamp:[0-9]+>',
                  LiveEventHandler, 'ajax-live-event'),
    webapp2.Route(r'/_/typeahead/<search_key>', TypeaheadHandler,
                  'ajax-typeahead'),
    webapp2.Route(r'/_/webcast/<event_key>/<webcast_number>', WebcastHandler,
                  'ajax-webcast'),
    webapp2.Route(r'/<:.*>', PageNotFoundHandler, 'page-not-found'),
],
                              debug=tba_config.DEBUG)
Ejemplo n.º 18
0
                holding1 = len(hold1)
                holding2 = len(hold2)
                test = myDictBasic
                player1move = moves[len(moves)-2]
                player2move = moves[-1]
                if len(player1q) > 0:
                    show1 = '/cards/'+str(player1q[0][1])+'.png'
                if len(player1q) > 1:
                    show2 = '/cards/'+str(player1q[1][1])+'.png'
                img1 = '/cards/'+str(player1move[1]) + '.png'
                img2 = '/cards/'+str(player2move[1])+'.png'
                print("won:",won)
                replaces={'won': won,"moves": moves, "player1":deck1, "player2":deck2, "player1hold":holding1, "player2hold":holding2, "test":test, "lost": lost, "p1move":player1move[0], "p2move":player2move[0], "img1":img1, "img2":img2, "show1" : show1, "show2":show2}
                self.response.write(template.render(replaces))



        
# Route mapping
app = webapp2.WSGIApplication([
    # This line routes the main url ('/')  - also know as
    # The root route - to the Fortune Handler
    ('/', Main),
    ('/playBasic', playBasic),
    ('/playShort', playShort),
    ('/playCool', coolwar)
    #('/farewell', GoodbyeHandler) #maps '/predict' to the FortuneHandler


], debug=True)
Ejemplo n.º 19
0
#!/usr/bin/env python
#
# Copyright 2016 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import webapp2


class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.redirect("/devsummit/", permanent=True)


app = webapp2.WSGIApplication([('/devsummit', MainHandler)], debug=True)
Ejemplo n.º 20
0
            content_type = 'application/octet-stream'
        elif file_name.endswith(THUMB_SUFFIX):
            content_type = 'image/png'
        self.response.headers['Content-Type'] = content_type
        # Cache for the expiration time:
        self.response.headers['Cache-Control'] = 'public,max-age=%d' \
            % EXPIRATION_TIME
        self.response.write(data)

    def delete(self, content_type, data_hash, file_name):
        content_type = self.normalize(content_type)
        file_name = self.normalize(file_name)
        key = content_type + '/' + data_hash + '/' + file_name
        result = {key: memcache.delete(key)}
        content_type = urllib.unquote(content_type)
        if IMAGE_TYPES.match(content_type):
            thumbnail_key = key + THUMB_SUFFIX
            result[thumbnail_key] = memcache.delete(thumbnail_key)
        if 'application/json' in self.request.headers.get('Accept'):
            self.response.headers['Content-Type'] = 'application/json'
        s = self.json_stringify(result)
        self.response.write(s)

app = webapp2.WSGIApplication(
    [
        ('/', UploadHandler),
        ('/(.+)/([^/]+)/([^/]+)', FileHandler)
    ],
    debug=DEBUG
)
Ejemplo n.º 21
0
import os
import utils
import webapp2
from wiki import WikiPage
from signup import Register
from login import Login
from logout import Logout
from edit_page import EditPage

#PAGE_RE = '^[/]?[\S]+?$'
PAGE_RE = '^[/]?(?!.*favicon\.ico).*[\S]+?$'

DEBUG = bool(os.environ['SERVER_SOFTWARE'].startswith('Development'))
app = webapp2.WSGIApplication([('/signup', Register), ('/login', Login),
                               ('/logout', Logout),
                               ('^/_edit/[\S]*?$', EditPage),
                               (PAGE_RE, WikiPage)],
                              debug=DEBUG)

# app = webapp2.WSGIApplication([('/signup', Signup),
#                                 ('/login', Login),
#                                 ('/logout', Logout),
#                                 ('/_edit' + PAGE_RE, EditPage),
#                                 (PAGE_RE, WikiPage), ],
#                                 debug=DEBUG)
Ejemplo n.º 22
0


# class TestHandler(webapp2.RequestHandler):
#     def get(self):
#         self.response.write('Hello')
#         # Your Account SID from twilio.com/console
#         account_sid = "AC421e208e540df7fc2f79ece8da7ef47a"
#         # Your Auth Token from twilio.com/console
#         auth_token  = ""
#
#         url = 'https://api.twilio.com/2010-04-01/Accounts/%s/Messages' % account_sid
#         payload_dict = {'To': '', 'From': '', 'Body': 'Hello'}
#         payload = urllib.urlencode(payload_dict)
#         authorization_header = "Basic %s" % base64.b64encode("%s:%s" % (account_sid, auth_token))
#         urlfetch.fetch(url, payload=payload, headers={
#         "Authorization": authorization_header
#         }, method="POST", validate_certificate=True)

app = webapp2.WSGIApplication([
    ('/', MainHandler),
    ('/create_goal', CreateGoals),
    ('/create_profile', CreateProfile),
    ('/create_user',CreateUser),
    # ('/test', TestHandler),
    ('/feed', Feed),
    ('/sign_up', SignUpHandler),
    ('/add_friend', FriendHandler),
    ('/goal_complete', GoalComplete)
], debug=True)
Ejemplo n.º 23
0
        if not user:
            self.render_login_form(error="Invalid username")
        elif hashutils.valid_pw(submitted_username, submitted_password, user.pw_hash):
            self.login_user(user)
            self.redirect('/blog/newpost')
        else:
            self.render_login_form(error="Invalid password")

class LogoutHandler(BlogHandler):

    def get(self):
        self.logout_user()
        self.redirect('/blog')

app = webapp2.WSGIApplication([
    ('/', IndexHandler),
    ('/blog', BlogIndexHandler),
    ('/blog/newpost', NewPostHandler),
    webapp2.Route('/blog/<id:\d+>', ViewPostHandler),
    webapp2.Route('/blog/<username:[a-zA-Z0-9_-]{3,20}>', BlogIndexHandler),
    ('/signup', SignupHandler),
    ('/login', LoginHandler),
    ('/logout', LogoutHandler)
], debug=True)

# A list of paths that a user must be logged in to access
auth_paths = [
    '/blog/newpost'
]
Ejemplo n.º 24
0
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import webapp2
import re


class MainHandler(webapp2.RequestHandler):
    def __init__(self, request=None, response=None):
        self.initialize(request, response)
        self.temperature = self.request.get('temperature', 'anonymous')

    def post(self):
        if re.match('^[0-9]+(.[0-9]+)*$', self.temperature) == None:
            self.response.write('Has introducido un valor incorrecto')
        else:
            celsius = int(self.temperature) + 1
            farenheit = int(self.temperature) * 1.8 + 32
            self.response.write('Celsius: ' + str(celsius) + ' , Farenheit: ' +
                                str(farenheit))


app = webapp2.WSGIApplication([('/convert', MainHandler)], debug=True)
Ejemplo n.º 25
0
        c = Comment()
        c.commenter = users.get_current_user()
        c.message = db.Text(self.request.get('message'))
        c.date = datetime.datetime.now()
        c.put()

        self.redirect('/')


class CommentFormHandler(webapp2.RequestHandler):
    def get(self):
        self.response.out.write('<p>Comments:</p><ul>')
        # Borrowing a bit from chapter 5...
        for c in Comment.all().order('-date'):
            self.response.out.write(
                '<li>%s<br />posted by %s on %s</li>' % (cgi.escape(
                    c.message), cgi.escape(c.commenter.nickname()), c.date))
        self.response.out.write('</ul>')

        self.response.out.write('''<p>Post a comment:</p>
<form action="/post" method="POST">
<textarea name="message"></textarea><br />
<input type="submit" />
</form>
''')


app = webapp2.WSGIApplication([('/', CommentFormHandler),
                               ('/post', CommentHandler)],
                              debug=True)
Ejemplo n.º 26
0
    def get(self):
        if self.user:  #user is set up in the BlogHandler initialize function
            self.render('welcome.html', username=self.user.name)
        else:
            self.redirect('/signup')


# class Welcome(BlogHandler):
#     def get(self):
#         username = self.request.get('username')
#         if valid_username(username):
#             self.render('welcome.html', username = username)
#         else:
#             self.redirect('/unit2/signup')

app = webapp2.WSGIApplication(
    [
        ('/', MainPage),
        # ('/unit2/rot13', Rot13),
        # ('/unit2/signup', Unit2Signup),
        # ('/unit2/welcome', Welcome),
        ('/blog/?', BlogFront),
        ('/blog/([0-9]+)', PostPage),
        ('/blog/newpost', NewPost),
        ('/signup', Register),
        ('/login', Login),
        ('/logout', Logout),
        ('/unit3/welcome', Unit3Welcome),
    ],
    debug=True)
Ejemplo n.º 27
0
class MainPage(webapp.RequestHandler):
    def get(self):
        # Disable the reflected XSS filter for demonstration purposes
        self.response.headers.add_header("X-XSS-Protection", "0")

        if not self.request.get('timer'):
            # Show main timer page
            self.response.out.write(render('index.html'))
        else:
            # Show the results page
            timer = self.request.get('timer', 0)

            safeTimer = sanitize_html(timer)
            self.response.out.write(
                render('timer-safe.html', {'timer': safeTimer}))

        return


application = webapp.WSGIApplication([
    ('.*', MainPage),
], debug=False)


def main():
    from paste import httpserver
    httpserver.serve(application, host='127.0.0.1', port='8080')


if __name__ == '__main__':
    main()
Ejemplo n.º 28
0
 def setUp(self):
     app = webapp2.WSGIApplication([('/', GlyphRequest)])
     self.testapp = webtest.TestApp(app)
Ejemplo n.º 29
0
        current_player.score += 1
        current_player.put()

        templateVars = {
            'players': players,
            'current_player': current_player,
        }

        template = env.get_template('templates/game.html')
        self.response.write(template.render(templateVars))


app = webapp2.WSGIApplication([
    ('/', LoginPage),
    ('/game', GamePage),
],
                              debug=True)

#INTERACTIVE CONSOLE
# patches_query = Patch.query()
# patches_query = Patch.query().filter(Patch.inner_color == "blue") <-- filter + order oldest to newest
#patches_query = patches_query.order(-Patch.created_time) <--- normally oldest to newest, - for reverse
# first_patch = patches_query.get() #gets one
#
# patches = patches_query.fetch() #gets all the data, ORDER before fetching
# first_patch.inner_color = "lightblue"
# first_patch.put() <--- saves it into the database
# first_patch.key.delete() <--- key is like SSN

#CRUD - Create(call the class and then save with .put()), Read(get, fetch), Update(.put), Delete(.key.delete)
Ejemplo n.º 30
0
# limitations under the License.
#
import webapp2
import os
import jinja2

template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
                                autoescape = True)

class Handler(webapp2.RequestHandler):
    def write(self, *a, **kw):
        self.response.out.write(*a, **kw)

    def render_str(self, template, **params):
        t = jinja_env.get_template(template)
        return t.render(params)

    def render(self, template, **kw):
        self.write(self.render_str(template, **kw))


class MainPage(Handler):
    def get(self):
        self.render("index.html")


app = webapp2.WSGIApplication([
    ('/', MainPage),], debug=True)