def setUp(self):
        self.policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(
            probability=1)
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub(consistency_policy=self.policy)
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        self.testbed.init_urlfetch_stub()
        ndb.get_context().clear_cache(
        )  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication([
            RedirectRoute(r'/suggest/cad/review',
                          SuggestDesignsReviewController,
                          'review-designs',
                          strict_slash=True),
            RedirectRoute(r'/suggest/review',
                          SuggestReviewHomeController,
                          'review-home',
                          strict_slash=True),
        ],
                                      debug=True)
        self.testapp = webtest.TestApp(app)

        self.team = Team(
            id="frc1124",
            team_number=1124,
        )
        self.team.put()
Exemple #2
0
    def setUp(self):
        self.policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(
            probability=1)
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub(consistency_policy=self.policy)
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        self.testbed.init_urlfetch_stub()
        self.testbed.init_taskqueue_stub(_all_queues_valid=True)
        ndb.get_context().clear_cache(
        )  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication(
            [
                RedirectRoute(
                    r'/mod',
                    TeamAdminDashboard,
                    'team-admin',
                    strict_slash=True),
                RedirectRoute(
                    r'/mod/redeem',
                    TeamAdminRedeem,
                    'team-admin',
                    strict_slash=True),
                RedirectRoute(
                    r'/suggest/cad/review',
                    SuggestDesignsReviewController,
                    'review-designs',
                    strict_slash=True),
                RedirectRoute(
                    r'/suggest/team/media/review',
                    SuggestTeamMediaReviewController,
                    'review-media',
                    strict_slash=True),
                RedirectRoute(
                    r'/suggest/team/social/review',
                    SuggestSocialMediaReviewController,
                    'review-social',
                    strict_slash=True),
            ],
            debug=True)
        self.testapp = webtest.TestApp(app)

        self.team = Team(
            id="frc1124",
            name="Team",
            team_number=1124,
        )
        self.team.put()
        self.now = datetime.datetime.now()
Exemple #3
0
    def setUp(self):
        self.policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(
            probability=1)
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub(consistency_policy=self.policy)
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        self.testbed.init_urlfetch_stub()
        self.testbed.init_taskqueue_stub(_all_queues_valid=True)
        ndb.get_context().clear_cache(
        )  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication([
            RedirectRoute(r'/mod/redeem',
                          TeamAdminRedeem,
                          'team-admin',
                          strict_slash=True),
        ])
        self.testapp = webtest.TestApp(app)

        self.team = Team(
            id="frc1124",
            name="Team",
            team_number=1124,
        )
        self.team.put()
        self.now = datetime.datetime.now()
Exemple #4
0
 def test_route_redirect_to(self):
     route = RedirectRoute('/foo', redirect_to='/bar')
     router = webapp2.Router([route])
     route_match, args, kwargs = router.match(webapp2.Request.blank('/foo'))
     self.assertEqual(route_match, route)
     self.assertEqual(args, ())
     self.assertEqual(kwargs, {'_uri': '/bar'})
Exemple #5
0
 def outer_wrapped(cls):
     logging.info("Adding route %s to class %s with name %s"
                  % (url, cls, name))
     self.router.add(RedirectRoute(url, cls,
                                   name=name,
                                   strict_slash=True))
     return cls
Exemple #6
0
 def test_route_redirect_to(self):
     route = RedirectRoute("/foo", redirect_to="/bar")
     router = webapp2.Router([route])
     route_match, args, kwargs = router.match(webapp2.Request.blank("/foo"))
     self.assertEqual(route_match, route)
     self.assertEqual(args, ())
     self.assertEqual(kwargs, {"_uri": "/bar"})
def createRoutes():
    applicationRoutes = []

    #
    # Update the following array to add/change routes
    routeInfo = [
        ('application.index', 'GET', '/', ApplicationController, 'index'),
        ('students.index', 'GET', '/students', StudentsController, 'index'),
        ('students.new', 'GET', '/students/new', StudentsController, 'new'),
        ('students.create', 'POST', '/students', StudentsController, 'create'),
        ('students.show', 'GET', '/students/<id:\d+>', StudentsController,
         'show'),
    ]

    for name, methods, pattern, handlerClass, handlerMethod in routeInfo:
        # Allow a single string, but this has to be changed to a list.
        # None here means any method
        if isinstance(methods, basestring):
            methods = [methods]

        # Create the route
        route = RedirectRoute(name=name,
                              template=pattern,
                              methods=methods,
                              handler=handlerClass,
                              handler_method=handlerMethod)

        # Add the route to the public list
        applicationRoutes.append(route)

    return applicationRoutes
Exemple #8
0
def get_redirect_route(regex_route, handler, name, defaults=None):
    """Returns a route that redirects /foo/ to /foo.

    Warning: this method strips off parameters after the trailing slash. URLs
    with parameters should be formulated without the trailing slash.
    """
    if defaults is None:
        defaults = {}
    return RedirectRoute(
        regex_route, handler, name, strict_slash=True, defaults=defaults)
Exemple #9
0
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        ndb.get_context().clear_cache()  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication([
            RedirectRoute(r'/suggest/event/media', SuggestEventMediaController, 'suggest-event-media', strict_slash=True),
        ], debug=True)
        self.testapp = webtest.TestApp(app)
    def setUp(self):
        self.policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=1)
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub(consistency_policy=self.policy)
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        self.testbed.init_urlfetch_stub()
        self.testbed.init_taskqueue_stub(_all_queues_valid=True)
        ndb.get_context().clear_cache()  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication([
            RedirectRoute(r'/suggest/review', SuggestReviewHomeController, 'suggest-home', strict_slash=True),
        ], debug=True)
        self.testapp = webtest.TestApp(app)
def get_application_routes(handler_cls=None):
    from . import admin_settings
    if not handler_cls:
        from .handlers import AdminHandler
        handler_cls = AdminHandler
    if handler_cls.__name__ in admin_settings._application_routes:
        return admin_settings._application_routes[handler_cls.__name__]

    application_routes = (
        ('appengine_admin.index', 'GET', r'/', handler_cls, 'index'),
        ('appengine_admin.list', 'GET', r'/<model_name>/list/', handler_cls,
         'list'),
        ('appengine_admin.new', None, r'/<model_name>/new/', handler_cls,
         'new'),
        ('appengine_admin.edit', None, r'/<model_name>/edit/<key>/',
         handler_cls, 'edit'),
        ('appengine_admin.delete', 'POST', r'/<model_name>/delete/<key>/',
         handler_cls, 'delete'),
        ('appengine_admin.blob', 'GET',
         r'/<model_name>/blob/<field_name>/<key>/', handler_cls, 'blob'),
    )

    admin_settings._application_routes[handler_cls.__name__] = []
    for name, methods, pattern, handler_cls, handler_method in application_routes:
        if isinstance(methods, basestring):
            methods = [methods]

        # Prefix with the base URL.
        pattern = admin_settings.ADMIN_BASE_URL + pattern

        # Create the route
        route = RedirectRoute(name=name,
                              template=pattern,
                              methods=methods,
                              handler=handler_cls,
                              handler_method=handler_method,
                              strict_slash=True)

        admin_settings._application_routes[handler_cls.__name__].append(route)

    # Read only!
    admin_settings._application_routes[handler_cls.__name__] = tuple(
        admin_settings._application_routes[handler_cls.__name__])
    return admin_settings._application_routes[handler_cls.__name__]
    def setUp(self):
        self.policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(
            probability=1)
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub(consistency_policy=self.policy)
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        self.testbed.init_urlfetch_stub()
        self.testbed.init_taskqueue_stub(_all_queues_valid=True)
        ndb.get_context().clear_cache(
        )  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication([
            RedirectRoute(r'/suggest/event/webcast/review',
                          SuggestEventWebcastReviewController,
                          'review-webcast',
                          strict_slash=True),
        ],
                                      debug=True)
        self.testapp = webtest.TestApp(app)

        self.event = Event(
            id="2016necmp",
            name="New England District Championship",
            event_type_enum=EventType.OFFSEASON,
            event_district_enum=DistrictType.NEW_ENGLAND,
            short_name="New England",
            event_short="necmp",
            year=2016,
            end_date=datetime(2016, 03, 27),
            official=False,
            city='Hartford',
            state_prov='CT',
            country='USA',
            venue="Some Venue",
            venue_address="Some Venue, Hartford, CT, USA",
            timezone_id="America/New_York",
            start_date=datetime(2016, 03, 24),
            webcast_json="",
            website="http://www.firstsv.org",
        )
        self.event.put()
Exemple #13
0
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        ndb.get_context().clear_cache(
        )  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication([
            RedirectRoute(r'/request/apiwrite',
                          SuggestApiWriteController,
                          'request-apiwrite',
                          strict_slash=True),
        ],
                                      debug=True)
        self.testapp = webtest.TestApp(app)

        self.event = Event(
            id="2016necmp",
            name="New England District Championship",
            event_type_enum=EventType.OFFSEASON,
            event_district_enum=DistrictType.NEW_ENGLAND,
            short_name="New England",
            event_short="necmp",
            year=2016,
            end_date=datetime(2016, 03, 27),
            official=False,
            city='Hartford',
            state_prov='CT',
            country='USA',
            venue="Some Venue",
            venue_address="Some Venue, Hartford, CT, USA",
            timezone_id="America/New_York",
            start_date=datetime(2016, 03, 24),
            webcast_json=
            "[{\"type\": \"twitch\", \"channel\": \"frcgamesense\"}]",
            website="http://www.firstsv.org",
        )
        self.event.put()
Exemple #14
0
    ('activity.list', None, '/activity/', ActivityHandler, 'list'),
    ('activity.update', None, '/activity/<id:\d+>/update/',
        ActivityHandler, 'update'),

    ('assistant.create', None, '/assistant/create/', AssistantHandler, 'create'),
    ('assistant.delete', None, '/assistant/<id:\d+>/delete/',
        AssistantHandler, 'delete'),
    ('assistant.list', None, '/assistant/', AssistantHandler, 'list'),
    ('assistant.update', None, '/assistant/<id:\d+>/update/',
        AssistantHandler, 'update'),

    ('instructor.create', None, '/instructor/create/', InstructorHandler, 'create'),
    ('instructor.delete', None, '/instructor/<id:\d+>/delete/',
        InstructorHandler, 'delete'),
    ('instructor.list', None, '/instructor/', InstructorHandler, 'list'),
    ('instructor.update', None, '/instructor/<id:\d+>/update/',
        InstructorHandler, 'update'),
]

for name, methods, pattern, handler_cls, handler_method in _route_info:
  # Allow a single string, but this has to be changed to a list.
  if isinstance(methods, basestring):
    methods = [methods]

  # Create the route.
  route = RedirectRoute(name=name, template=pattern, methods=methods,
                        handler=handler_cls, handler_method=handler_method)

  # Add the route to the proper public list.
  application_routes.append(route)
Exemple #15
0
from webapp2 import WSGIApplication, Route
from webapp2_extras.routes import PathPrefixRoute, RedirectRoute

from manage.admin_handlers import AdminHandler, AdminDeleteHandler
from manage.main_handlers import HomeHandler, ProfileHandler
from manage.syllabus_handlers import SyllabusHandler, SyllabusCreateHandler, SyllabusDeleteHandler
from manage.instructor_handlers import InstructorViewHandler, InstructorOfficeHandler

from public.index_handler import IndexHandler
from public.login_handlers import LoginHandler, LogoutHandler
from public.term_handler import TermHandler
from public.view_handler import ViewHandler

app = WSGIApplication(
    [
        RedirectRoute('/manage', redirect_to_name='manage-home'
                      ),  #fixes stupid trailing slash thing
        PathPrefixRoute('/manage', [
            Route('/', HomeHandler, 'manage-home'),
            Route('/profile/<term>', InstructorOfficeHandler,
                  'manage-profile-office'),
            Route('/profile', ProfileHandler, 'manage-profile'),
            Route('/syllabus/create', SyllabusCreateHandler,
                  'create-syllabus'),
            Route('/syllabus/<fterm>/<fname>/duplicate', SyllabusCreateHandler,
                  'duplicate-syllabus'),
            Route('/syllabus/<term>/<name>/delete', SyllabusDeleteHandler,
                  'delete-syllabus'),
            Route('/syllabus/<term>/<name>/<step>', SyllabusHandler,
                  'edit-syllabus'),
            Route('/instructor', InstructorViewHandler, 'manage-instructor'),
            Route('/instructor/<iid>/<term>', InstructorOfficeHandler,
Exemple #16
0
                    (k, dict(
                        (key, getattr(value, key)) for key in dir(value))))
        if self.request_bool("clear", False):
            memcache.delete(key, namespace=namespace)


application = webapp2.WSGIApplication(
    [
        DomainRoute(
            'smarthistory.khanacademy.org',
            [webapp2.SimpleRoute('/.*', smarthistory.SmartHistoryProxy)]),
        ('/', homepage.ViewHomePage),
        ('/about', util_about.ViewAbout),
        ('/about/blog', blog.ViewBlog),
        RedirectRoute('/about/blog/schools',
                      redirect_to='http://ka-implementations.tumblr.com/',
                      defaults={'_permanent': False}),
        ('/about/blog/.*', blog.ViewBlogPost),
        ('/about/the-team', util_about.ViewAboutTheTeam),
        RedirectRoute(
            '/about/getting-started',
            redirect_to=
            'http://khanacademy.desk.com/customer/portal/articles/329323-where-do-i-begin-how-should-i-get-started-'
        ),
        ('/about/discovery-lab', util_about.ViewDiscoveryLab),
        ('/about/tos', ViewTOS),
        ('/about/api-tos', ViewAPITOS),
        ('/about/privacy-policy', ViewPrivacyPolicy),
        ('/about/dmca', ViewDMCA),
        ('/contribute', ViewContribute),
        RedirectRoute('/getinvolved', redirect_to='/contribute'),
"""
Using redirect route instead of simple routes since it supports strict_slash
Simple route: http://webapp-improved.appspot.com/guide/routing.html#simple-routes
RedirectRoute: http://webapp-improved.appspot.com/api/webapp2_extras/routes.html#webapp2_extras.routes.RedirectRoute
"""

from webapp2_extras.routes import RedirectRoute
from web import handlers
from admin import live_python

secure_scheme = 'https'

_routes = [
    RedirectRoute('/secure/',
                  handlers.SecureRequestHandler,
                  name='secure',
                  strict_slash=True),
    RedirectRoute('/pub/<url>/',
                  live_python.PublicPythonScriptRun,
                  name='run-script',
                  strict_slash=True),
]


def get_routes():
    return _routes


def add_routes(app):
    if app.debug:
        secure_scheme = 'http'
Exemple #18
0
    })


def get_home_redirect(handler, *args, **kwargs):
    short_name = kwargs.get('short_name', None)
    if not short_name:
        return handler.uri_for('main')
    server = Server.get_by_short_name(short_name)
    if not server:
        return handler.uri_for('main')
    return handler.uri_for('home', server_key=server.short_name)


application = webapp2.WSGIApplication(
    [
        RedirectRoute('/', handler=MainHandler, name="main"),
        RedirectRoute('/gae_claim_callback',
                      handler=GoogleAppEngineUserClaimHandler,
                      name='gae_claim_callback'),  # noqa
        RedirectRoute('/players/claim',
                      handler=UsernameClaimHandler,
                      strict_slash=True,
                      name="username_claim"),
        RedirectRoute('/chats',
                      handler=ChatsHandler,
                      strict_slash=True,
                      name="naked_chats"),
        RedirectRoute('/players',
                      handler=PlayersHandler,
                      strict_slash=True,
                      name="naked_players"),
Exemple #19
0
#!/usr/bin/python
# coding: utf-8

from webapp2_extras.routes import RedirectRoute
from handlers import annotation

secure_scheme = 'https'

_routes = [
    RedirectRoute('/admin/annotation', annotation.ListHandler, name='annotation-list', strict_slash=True),
    RedirectRoute('/admin/annotation/createsample', annotation.AnnotationSampleHandler, name='annotation-create-sample', strict_slash=True),
    RedirectRoute('/admin/annotation/createslot', annotation.SlotCreateHandler, name='annotation-create-slot', strict_slash=True),
    RedirectRoute('/admin/annotation/deleteslot', annotation.SlotDeleteHandler, name='annotation-delete-slot', strict_slash=True),
    RedirectRoute('/admin/annotation/deletespeech', annotation.SpeechDeleteHandler, name='annotation-delete-speech', strict_slash=True),
    RedirectRoute('/admin/annotation/resetspeech', annotation.SpeechResetHandler, name='annotation-reset-speech', strict_slash=True),
]

def get_routes():
    return _routes

def add(app):
    if app.debug:
        secure_scheme = 'http'
    for r in _routes:
        app.router.add(r)
Exemple #20
0
"""
Using redirect route instead of simple routes since it supports strict_slash
Simple route: http://webapp-improved.appspot.com/guide/routing.html#simple-routes
RedirectRoute: http://webapp-improved.appspot.com/api/webapp2_extras/routes.html#webapp2_extras.routes.RedirectRoute
"""

from webapp2_extras.routes import RedirectRoute
import handlers

secure_scheme = 'https'

_routes = [
    RedirectRoute('/taskqueue-send-email/',
                  handlers.SendEmailHandler,
                  name='taskqueue-send-email',
                  strict_slash=True),
    RedirectRoute('/_ah/login_required', handlers.LoginRequiredHandler),
    RedirectRoute('/login/',
                  handlers.LoginHandler,
                  name='login',
                  strict_slash=True),
    RedirectRoute('/logout/',
                  handlers.LogoutHandler,
                  name='logout',
                  strict_slash=True),
    RedirectRoute('/social_login/<provider_name>',
                  handlers.SocialLoginHandler,
                  name='social-login',
                  strict_slash=True),
    RedirectRoute('/social_login/<provider_name>/complete',
                  handlers.CallbackSocialLoginHandler,
Exemple #21
0
# third-party imports
from webapp2 import Route
from webapp2_extras.routes import RedirectRoute

ROUTES = [

    #####################
    # Admin only routes #
    #####################
    RedirectRoute(
        r'/t/new/',
        'handlers.template.forms.AddProjectHandler',
        name="project-add",
        handler_method='handle',
        strict_slash=True,
        methods=['GET', 'POST'],
    ),
    RedirectRoute(
        r'/t/<task_id>/add_user/',
        'handlers.template.forms.AddUserToProjectHandler',
        name="task-add-user",
        handler_method='post',
        strict_slash=True,
        methods=['POST'],
    ),
    RedirectRoute(
        r'/t/<task_id>/remove_user/<user_id>/',
        'handlers.template.forms.RemoveUserFromProjectHandler',
        name="task-remove-user",
        strict_slash=True,
    ),
Exemple #22
0
    tba_config.OFFSEASON: MainOffseasonHandler,
    tba_config.INSIGHTS: MainInsightsHandler,
}


class Webapp2HandlerAdapter(webapp2.BaseHandlerAdapter):
    def __call__(self, request, response, exception):
        request.route_args = {}
        request.route_args['exception'] = exception
        handler = self.handler(request, response)
        return handler.get()


app = webapp2.WSGIApplication([
    RedirectRoute(r'/',
                  landing_handler[tba_config.CONFIG['landing_handler']],
                  'landing',
                  strict_slash=True),
    RedirectRoute(r'/about', AboutHandler, 'about', strict_slash=True),
    RedirectRoute(
        r'/account', AccountOverview, 'account-overview', strict_slash=True),
    RedirectRoute(
        r'/account/edit', AccountEdit, 'account-edit', strict_slash=True),
    RedirectRoute(r'/account/register',
                  AccountRegister,
                  'account-register',
                  strict_slash=True),
    RedirectRoute(
        r'/account/mytba', MyTBAController, 'account-mytba',
        strict_slash=True),
    RedirectRoute(r'/apidocs',
                  ApiDocumentationHandler,
Exemple #23
0
"""
Using redirect route instead of simple routes since it supports strict_slash
Simple route: http://webapp-improved.appspot.com/guide/routing.html#simple-routes
RedirectRoute: http://webapp-improved.appspot.com/api/webapp2_extras/routes.html#webapp2_extras.routes.RedirectRoute
"""
from webapp2_extras.routes import RedirectRoute
from bp_content.themes.default.handlers import handlers

secure_scheme = 'https'

# Here go your routes, you can overwrite boilerplate routes (bp_includes/routes)

_routes = [
    RedirectRoute('/',
                  handlers.ManifestHandler,
                  name='manifest',
                  strict_slash=True),
    RedirectRoute('/secure/',
                  handlers.SecureRequestHandler,
                  name='secure',
                  strict_slash=True),
    # RedirectRoute('/gettest/', handlers.getTestFile, name='gettest', strict_slash=True),
    RedirectRoute('/test/',
                  handlers.TestHandler,
                  name='test',
                  strict_slash=True),
    RedirectRoute('/add_vessel_data/',
                  handlers.addVesselData,
                  name='add_vessel_data',
                  strict_slash=True),
    #RedirectRoute('/save_manifest/', handlers.SaveManifestHandler, name='savemanifest', strict_slash=True),
Exemple #24
0
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()
        ndb.get_context().clear_cache(
        )  # Prevent data from leaking between tests

        app = webapp2.WSGIApplication([
            RedirectRoute(r'/suggest/match/video',
                          SuggestMatchVideoController,
                          'suggest-match-video',
                          strict_slash=True),
        ],
                                      debug=True)
        self.testapp = webtest.TestApp(app)

        self.event = Event(id="2016necmp",
                           name="New England District Championship",
                           event_type_enum=EventType.DISTRICT_CMP,
                           event_district_enum=DistrictType.NEW_ENGLAND,
                           short_name="New England",
                           event_short="necmp",
                           year=2016,
                           end_date=datetime(2016, 03, 27),
                           official=False,
                           city='Hartford',
                           state_prov='CT',
                           country='USA',
                           venue="Some Venue",
                           venue_address="Some Venue, Hartford, CT, USA",
                           timezone_id="America/New_York",
                           start_date=datetime(2016, 03, 24),
                           webcast_json="",
                           website="http://www.firstsv.org")
        self.event.put()

        self.match = Match(id="2016necmp_f1m1",
                           event=ndb.Key(Event, "2016necmp"),
                           year=2016,
                           comp_level="f",
                           set_number=1,
                           match_number=1,
                           team_key_names=[
                               'frc846', 'frc2135', 'frc971', 'frc254',
                               'frc1678', 'frc973'
                           ],
                           time=datetime.fromtimestamp(1409527874),
                           time_string="4:31 PM",
                           youtube_videos=["JbwUzl3W9ug"],
                           tba_videos=[],
                           alliances_json='{\
                "blue": {\
                    "score": 270,\
                    "teams": [\
                    "frc846",\
                    "frc2135",\
                    "frc971"]},\
                "red": {\
                    "score": 310,\
                    "teams": [\
                    "frc254",\
                    "frc1678",\
                    "frc973"]}}',
                           score_breakdown_json='{\
                "blue": {\
                    "auto": 70,\
                    "teleop_goal+foul": 40,\
                    "assist": 120,\
                    "truss+catch": 40\
                },"red": {\
                    "auto": 70,\
                    "teleop_goal+foul": 50,\
                    "assist": 150,\
                    "truss+catch": 40}}')
        self.match.put()
Exemple #25
0
            # Instagram auth
            PathPrefixRoute('/auth', [
                webapp2.Route('/instagram',
                              name='auth-instagram',
                              handler='AuthInstagramHandler'),
                webapp2.Route('/flickr',
                              name='auth-flickr',
                              handler='AuthFlickrHandler'),
                webapp2.Route('/facebook',
                              name='auth-facebook',
                              handler='AuthFacebookHandler'),
            ]),

            # Private maze endpoints.
            RedirectRoute(r'/maze/<maze_id:\w+>',
                          name='maze',
                          handler='MazeHandler',
                          strict_slash=True),
            PathPrefixRoute(
                r'/maze/<maze_id:\w+>',
                [
                    webapp2.Route('/login',
                                  name='maze-login',
                                  handler='MazeLoginHandler'),
                    webapp2.Route('/texture/<image_key>',
                                  name='maze-texture',
                                  handler='MazeTextureHandler'),
                    PathPrefixRoute('/image', [
                        webapp2.Route('/list',
                                      name='maze-image-list',
                                      handler='MazeImageListHandler'),
                    ]),
    ('/unauthenticated/osa/launcher/apps', GetOSALaucherAppsHandler),
    ('/unauthenticated/osa/launcher/app/download', GetOSALaucherAppHandler),
    ('/unauthenticated/osa/callback/twitter', SolutionsCallbackTwitterHandler),
    ('/bob/api/apps/set_ios_app_id', SetIosAppIdHandler),
    ('/solutions/djmatic/api/1', solutions.djmatic.api.DJMaticApiHandler),
    ('/shop/invoices/export', ExportInvoicesHandler),
    ('/shop/products/export', ExportProductsHandler),
    ('/shop/prospects/callback', ProspectCallbackHandler),
    ('/shop/prospects/discover/callback', ProspectDiscoverCallbackHandler),
    ('/shop/beacons/app/validate_url', BeaconsAppValidateUrlHandler),
    ('/customers/map/([a-z-_]+)/services', CustomerMapServicesHandler),
    ('/customers/map/([a-z-_]+)', CustomerMapHandler),
    ('/customers/setpassword', CustomerSetPasswordHandler),
    ('/customers/resetpassword', CustomerResetPasswordHandler),
    RedirectRoute('/customers/signin',
                  name='customers_login',
                  handler=CustomerSigninHandler,
                  strict_slash=True),
    RedirectRoute('/customers/signup',
                  name='signup',
                  handler=CustomerSignupHandler,
                  strict_slash=True),
    RedirectRoute('/ourcityapp',
                  name='ourcityapp',
                  redirect_to_name='customers_login',
                  strict_slash=True),
    ('/solutions/common/public/attachment/view/(.*)',
     CloudStorageBlobstoreHandler),
    ('/solutions/common/public/menu/image/(.*)', ViewMenuItemImageHandler),
    ('/version', VersionsHandler)
]
Exemple #27
0
    tba_config.OFFSEASON: MainOffseasonHandler,
    tba_config.INSIGHTS: MainInsightsHandler,
}


class Webapp2HandlerAdapter(webapp2.BaseHandlerAdapter):
    def __call__(self, request, response, exception):
        request.route_args = {}
        request.route_args['exception'] = exception
        handler = self.handler(request, response)
        return handler.get()


app = webapp2.WSGIApplication([
    RedirectRoute(r'/',
                  landing_handler[tba_config.CONFIG['landing_handler']],
                  'landing',
                  strict_slash=True),
    RedirectRoute(r'/2champs', TwoChampsHandler, '2champs', strict_slash=True),
    RedirectRoute(r'/about', AboutHandler, 'about', strict_slash=True),
    RedirectRoute(
        r'/account', AccountOverview, 'account-overview', strict_slash=True),
    RedirectRoute(r'/account/api/read_key_add',
                  AccountAPIReadKeyAdd,
                  'account-api-read-key-add',
                  strict_slash=True),
    RedirectRoute(r'/account/api/read_key_delete',
                  AccountAPIReadKeyDelete,
                  'account-api-read-key-delete',
                  strict_slash=True),
    RedirectRoute(
        r'/account/edit', AccountEdit, 'account-edit', strict_slash=True),
Exemple #28
0
from webapp2_extras.routes import RedirectRoute
import users
import admin
import logsemails
import logsvisits
import crontasks


_routes = [
    RedirectRoute('/admin/', users.AdminUserGeoChartHandler, name='admin-users-geochart', strict_slash=True),
    RedirectRoute('/admin/users/', users.AdminUserListHandler, name='admin-users-list', strict_slash=True),
    RedirectRoute('/admin/users/<user_id>/', users.AdminUserEditHandler, name='admin-user-edit', strict_slash=True, handler_method='edit'),

    RedirectRoute('/admin/logs/emails/', logsemails.AdminLogsEmailsHandler, name='admin-logs-emails', strict_slash=True),
    RedirectRoute('/admin/logs/emails/<email_id>/', logsemails.AdminLogsEmailViewHandler, name='admin-logs-email-view', strict_slash=True),
    RedirectRoute('/admin/logs/visits/', logsvisits.AdminLogsVisitsHandler, name='admin-logs-visits', strict_slash=True),

    RedirectRoute('/admin/logout/', admin.AdminLogoutHandler, name='admin-logout', strict_slash=True),

    RedirectRoute('/crontasks/cleanuptokens/', crontasks.AdminCleanupTokensHandler, name='admin-crontasks-cleanuptokens', strict_slash=True),

]

def get_routes():
    return _routes

def add_routes(app):
    for r in _routes:
        app.router.add(r)
Exemple #29
0
# 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 lib.redirects as redirects
from webapp2_extras.routes import RedirectRoute
from lib.controllers.base import BaseController
from lib.controllers.explorer_csv import ExplorerCsvController
from lib.controllers.vwo import VwoController

router = webapp2.WSGIApplication([

  # Redirects
  (r'/demos/embed-api.*', redirects.EmbedApiRedirect),
  (r'/explorer/csvhandler.*', redirects.QueryExplorerCsvRedirect),
  (r'/explorer.*', redirects.QueryExplorerRedirect),
  # Main routes
  (r'/query-explorer/csvhandler.*', ExplorerCsvController),
  (r'/vwo', VwoController),
  RedirectRoute(r'/',
      handler=BaseController, name='Home', strict_slash=True),
  RedirectRoute(r'/<project>/',
      handler=BaseController, name='Project', strict_slash=True),
  RedirectRoute(r'/<project>/<page>/',
      handler=BaseController, name='Page', strict_slash=True),

], debug=False)
Exemple #30
0

# Web Routes
# TODO: WE need to somehow inject these into the react app

# WebGalleries
web_routes = []
rest_routes = []
"""
TODO: Design for web routes - put in jsonfile that is mounted in client too...
name = {url, server_view, react_view }
"""

web_routes += [
    RedirectRoute('/about/',
                  'controllers.AboutMainHandler',
                  strict_slash=True,
                  name="about"),
    RedirectRoute(r'/galleries/<slug:[a-z0-9-_]+>/',
                  'venues.controllers.GalleryDetailHandler',
                  strict_slash=True,
                  name="view_permalink"),
    RedirectRoute(r'/galleries/',
                  'venues.controllers.GalleryMainHandler',
                  strict_slash=True,
                  name="venues_main"),

    # (r'/events/([a-z0-9-]+)', 'cal.controllers.CalendarDetailHandler'),
    RedirectRoute(r'/events/<slug:[a-z0-9-_]+>/',
                  'cal.controllers.CalendarDetailHandler',
                  strict_slash=True,
                  name="event_permalink"),