def __init_template(self):
        """Pre-process the template module like register filters.

        Return
            The processed template module.
        """
        from google.appengine.ext.webapp import template

        # GAEO-provided filters
        cur_dir = os.path.dirname(__file__)
        dirs = [{
            'package': 'gaeo.view.filters', 
            'path': os.path.join(cur_dir, 'filters')
        }]

        # check custom filters, inspired from Issue #54
        custom_filters_path = getattr(settings, 'PLUGIN_FILTERS_PATH')
        if custom_filters_path and os.path.exists(custom_filters_path):
            dirs.append({
                'package': '%s.%s' % (settings.PLUGIN_DIR, settings.PLUGIN_FILTERS_DIR), 
                'path': custom_filters_path
            })

        # register filters
        for d in dirs:
            filters = os.listdir(d['path'])
            for f in filters:
                if not re.match('^__|^\.|.*pyc$', f):
                    module = '%s.%s' % (d['package'], f.replace('.py', ''))
                    template.register_template_library(module)

        return template
Beispiel #2
0
def initFilters():
    filters_root = os.path.join(os.path.dirname(__file__), 'filters')
    if os.path.exists(filters_root):
        filters = os.listdir(filters_root)
        for filter in filters:
            if not re.match('^__|^\.|.*pyc$', filter ):
                template.register_template_library('filters.'+filter.replace(".py","" ) )
  def testEvaluateWithNoCacheAndUTF8Text(self):
    self.mox.StubOutWithMock(template, 'register_template_library')
    self.mox.StubOutWithMock(template, 'Template')
    mock_template = self.mox.CreateMock(model.Template)
    mock_template.text = u'\u043f\u043e\u0438\u0441\u043a'.encode('utf8')
    mock_template.schema = self.mox.CreateMockAnything()
    mock_template.schema.field_set = []
    mock_key = self.mox.CreateMockAnything()
    mock_compiled_template = self.mox.CreateMockAnything()
    dummy_entity = object()
    dummy_result = object()

    @mox.Func
    def VerifyArgs(args):
      args = args.dicts[0]
      self.assertEqual(set(args.keys()),
                       set(['entity', '_cache', '_link_template']))
      self.assertEqual(args['entity'], dummy_entity)
      self.assertEqual(args['_cache'], None)
      self.assertEqual(args['_link_template'], None)
      return True

    mock_template.key().AndReturn(mock_key)
    mock_key.id().AndReturn(42)
    template.register_template_library('template_functions.entities')
    template.Template(mock_template.text).AndReturn(mock_compiled_template)
    mock_compiled_template.render(VerifyArgs).AndReturn(dummy_result)

    self.mox.ReplayAll()
    result = model.Template.Evaluate(mock_template, dummy_entity)
    self.assertEqual(result, dummy_result)
Beispiel #4
0
    def render(self, template_file, template_values, cache_key=None, cache_lifetime=360000):
        
        cache_value = None
        
        if(None != cache_key):
            if(self.is_admin):
                cache_key = cache_key + '_' + str(self.user.nickname)
            
            cache_value = memcache.get(cache_key)

        if(None != cache_value):
            self.response.out.write(cache_value)
            return
        else:
            template.register_template_library('filters')        
            template_path = os.path.join(os.path.dirname(__file__), 'templates', template_file)
        
            template_values['is_admin'] = self.is_admin
            template_values['user'] = self.user
            template_values['http_host'] = self.request.host_url
            template_values['logout_url'] = users.create_logout_url('/')

            if(self.session.has_key('message')):
                template_values['message'] = self.session['message']
                del self.session['message']
            else:
                template_values['message'] = False
        
            output = template.render(template_path, template_values)

            if(None != cache_key):
                memcache.add(cache_key, output, cache_lifetime)
                
            self.response.out.write(output)
            return
Beispiel #5
0
    def get(self, entryId):
        if self.request.cookies.get('budgeteerIdToken'):
            budgeteer = Budgeteer.getBudgeteerById(long(self.request.cookies.get('budgeteerIdToken')))
        else:
            self.redirect('/Login')
            return
        if not budgeteer:
            self.redirect('/Login')
            return

        entry = Entry.getEntryById(long(entryId))
        if entry.addedBy.id() != long(budgeteer.key.id()):
            self.redirect('/Budgets')
            return

        template_params = dict()
        budgetId = long(self.request.get('budgetId'))


        tagList = Budget.getTagList(Budget.getBudgetById(budgetId))
        tagNameList = []
        for tag in tagList:
            tagNameList += [tag.description]
        template.register_template_library('web.templatetags.filter_app')
        template_params['description'] = entry.description
        template_params['price'] = entry.amount
        template_params['tag'] = Tag.getTagByKey(entry.tagKey).description
        template_params['tagList'] = tagNameList
        template_params['budgetId'] = budgetId
        template_params['entryId'] = entryId
        template_params['userName'] = budgeteer.userName
        html = template.render("web/templates/edit_entry.html", template_params)
        self.response.write(html)
Beispiel #6
0
    def initialize(self, request, response):
        template.register_template_library('libs.gsfoid.templatefilters')
        RequestHandlerExt.cookies = request.cookies
        RequestHandlerExt.this_request = request
        RequestHandlerExt.this_response = response
        
        response.headers.add_header("P3P", 'CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"')

        # detect language
        if RequestHandlerExt.detect_lang_func:
            self.lang = self.detect_lang_func()
            RequestHandlerExt.lang = self.lang
            translation.activate(self.lang)
        else:
            translation.activate('ru')
        
        if os.environ['SERVER_SOFTWARE'].startswith('Development'):
            RequestHandlerExt.DEV_SERVER = True
        else:
            RequestHandlerExt.DEV_SERVER = False
        
        try:
            self.run()
        except AttributeError:
            pass
        super(RequestHandlerExt, self).initialize(request, response)
Beispiel #7
0
 def __init__(self, app):
     template.register_template_library('gae_mini_profiler.templatetags')
     self.app = app
     self.app_clean = app
     self.prof = None
     self.recorder = None
     self.temporary_redirect = False
Beispiel #8
0
    def __init__(self, request, response):
        """ webapp2 needs these reset each handler invocation"""

        self.initialize(request, response)
        logging.getLogger().setLevel(logging.DEBUG)
        template.register_template_library('templatetags.unixtime')
        os.environ["DJANGO_SETTINGS_MODULE"] = "settings"
    def get(self):
        if self.request.cookies.get('budgeteerIdToken'):
            budgeteer = Budgeteer.getBudgeteerById(long(self.request.cookies.get('budgeteerIdToken')))
            if not budgeteer:
                self.redirect('/Login')
                return
        else:
            self.redirect('/Login')
            return

        template_params = dict()
        tag_object_list = Tag.getAllTags()

        # Remove the "untagged" tag. the user should not be able to see it.
        temp_object_list = []
        for tag in tag_object_list:
            if tag.description != "Untagged":
                temp_object_list.append(tag)
        tag_object_list = temp_object_list
        
        tagname_pair_list = []

        if len(tag_object_list)%2 == 1:
            tag_object_list.append(None)
        for i in range (0,len(tag_object_list),2):
            if tag_object_list[i+1] == None:
                tagname_pair_list.append([tag_object_list[i].description, None])
            else:
                tagname_pair_list.append([tag_object_list[i].description, tag_object_list[i+1].description])
        template.register_template_library('web.templatetags.filter_app')
        template_params['tagnamePairList'] = tagname_pair_list
        template_params['userName'] = budgeteer.userName
        html = template.render("web/templates/create_budget.html", template_params)
        self.response.write(html)
Beispiel #10
0
    def get(self, budgetId):
        budgeteerId = None
        if self.request.cookies.get('budgeteerIdToken'):
            budgeteerId = long(self.request.cookies.get('budgeteerIdToken'))
            budgeteer = Budgeteer.getBudgeteerById(budgeteerId)
            if not budgeteer:
                self.redirect('/Login')
                return
        else:
            self.redirect('/Login')
            return

        if not budgetId:
            self.redirect('/Budgets')
            return
        budgetId = long(budgetId)
        # Verify that the user has sufficient permissions
        if not Budget.hasAddEditEntryPermissions(budgeteerId, budgetId):
            self.redirect('/Budgets')
            return

        # Prepare a list of tag names.
        tagList = Budget.getTagList(Budget.getBudgetById(budgetId))
        tagNameList = []
        for tag in tagList:
            tagNameList += [tag.description]
        template.register_template_library('web.templatetags.filter_app')
        template_params = dict()
        template_params['budgetId'] = budgetId
        template_params['tagList'] = tagNameList
        template_params['userName'] = budgeteer.userName
        html = template.render("web/templates/add_entry.html", template_params)
        self.response.write(html)
Beispiel #11
0
 def pre_render(self, *args, **kwargs):
     from google.appengine.ext.webapp import template
     import docutils
     from apps.presentation import pygments_support
     from docutils.core import publish_parts
     template.register_template_library(
         'apps.presentation.templatetags.s6helper')
Beispiel #12
0
    def get(self):
        if self.request.cookies.get('budgeteerIdToken'):
            budgeteer = Budgeteer.getBudgeteerById(long(self.request.cookies.get('budgeteerIdToken')))
            if not budgeteer:
                self.redirect('/Login')
                return
        else:
            self.redirect('/Login')
            return

        reverse_order = True

        template.register_template_library('web.templatetags.filter_app')
        template_params = dict()
        if self.request.get('sort_by'):
            sort_by = self.request.get('sort_by')
            if self.request.get('reverse_order'):
                reverse_order = self.request.get('reverse_order')
                if reverse_order == "False":
                    reverse_order = False
                else:
                    reverse_order = True
                template_params['budgetList'] = Budgeteer.getBudgetList(budgeteer, sort_by = sort_by, reverse = reverse_order)
            else:
                template_params['budgetList'] = Budgeteer.getBudgetList(budgeteer, sort_by = sort_by)
        else:
            template_params['budgetList'] = Budgeteer.getBudgetList(budgeteer)

        template_params['reverse'] = not reverse_order
        template_params['userName'] = budgeteer.userName
        html = template.render("web/templates/budgets.html", template_params)
        self.response.write(html)
Beispiel #13
0
    def post(self):
        budgeteer = Budgeteer.getBudgeteerById(long(self.request.cookies.get('budgeteerIdToken')))
        if not budgeteer:
            self.redirect('/Login')
        template.register_template_library('web.templatetags.filter_app')
        email = self.request.get("emailAddress")
        template_params = dict()
        template_params['userName'] = budgeteer.userName
        budgeteerCheck = Budgeteer.getBudgeteerIdByEmail(email)
        if budgeteerCheck:
            template_params['emailStatus'] = "There is a budgeteer with that mail"
            html = template.render("web/templates/invite_friend.html", template_params)
            self.response.write(html)
            return

        if not MailSender.check_if_email_valid(email):
            template_params['emailStatus'] = "Please insert your friend email address"
            html = template.render("web/templates/invite_friend.html", template_params)
            self.response.write(html)
            return

        MailSender.send_invite_friend(budgeteer.userName, email)
        template_params['emailStatus'] = "An Email with invitation has been sent to your friend."

        html = template.render("web/templates/invite_friend.html", template_params)
        self.response.write(html)
Beispiel #14
0
def main():
    template.register_template_library('ranking_engine.filters')
    template.register_template_library('ranking_engine.tags')

    map = Mapper(explicit=True)
    add_routes(map)
    application = WSGIApplication(map, debug=True)
    run_wsgi_app(application)
Beispiel #15
0
def main():
  template.register_template_library('ranking_engine.filters')
  template.register_template_library('ranking_engine.tags')

  map = Mapper(explicit = True)
  add_routes(map)
  application = WSGIApplication(map, debug=True)
  run_wsgi_app(application)
Beispiel #16
0
 def render_template(self, template_file, dictionary = {}):
     if not dictionary.has_key('lang'):
         # load lang from user prefs => make user a class attribute ?
         # otherwise, fallback to the lang from the request headers :
         dictionary['lang'] = i18n.choose_lang(self.request.accept_language.best_matches(i18n.DEFAULT_LANG))
     template.register_template_library('app.web.templates_filters')
     path = os.path.join(os.path.dirname(__file__), '..', 'templates', template_file)
     self.response.out.write(template.render(path, dictionary))
Beispiel #17
0
def main():
    template.register_template_library('filters')
    routes = [('/admin/', DefaultHandler),
              ('/admin/x', ModifyHandler)]

    application = webapp.WSGIApplication(routes,
                                         debug=True)
    util.run_wsgi_app(application)
Beispiel #18
0
 def __init__(self, app):
     template.register_template_library('gae_mini_profiler.templatetags')
     self.app = app
     self.app_clean = app
     self.prof = None
     self.recorder = None
     self.temporary_redirect = False
     self.handler = None
def webapp_add_wsgi_middleware(app):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'utils.settings'
    template.register_template_library('templatetags.formats')
    template.register_template_library('templatetags.dictionary')
    
    #from apptrace.middleware import apptrace_middleware
    #app = apptrace_middleware(app)
    app = SessionMiddleware(app, cookie_key=conf.COOKIE_KEY, lifetime=datetime.timedelta(1), no_datastore=True)
    return app
Beispiel #20
0
def main(sdk_path, test_pattern):
    logging.disable(logging.WARNING)

    start_time = time.time()

    os.environ['IS_TBA_TEST'] = "true"

    sys.path.insert(0, sdk_path)
    import dev_appserver
    dev_appserver.fix_sys_path()

    # Set up custom django template filters
    from google.appengine.ext.webapp import template
    template.register_template_library('common.my_filters')

    suites = unittest2.loader.TestLoader().discover("tests", test_pattern)

    fail = False
    total_tests_run = 0
    if MULTITHREAD:
        proc_lock = multiprocessing.Lock()
        fail_count = multiprocessing.Value('i', 0)
        total_run = multiprocessing.Value('i', 0)
        pool = multiprocessing.Pool(MAX_JOBS, initializer=proc_init, initargs=(proc_lock, fail_count, total_run,))
        pool.map(run_suite, suites)
        pool.close()
        pool.join()

        fail = fail_count.value > 0
        total_tests_run = total_run.value
    else:
        result_queue = multiprocessing.Queue()
        for suite in suites:
            sio = StringIO.StringIO()
            testresult = unittest2.TextTestRunner(sio, verbosity=2).run(suite)
            result_queue.put((testresult.testsRun, testresult.wasSuccessful()))
            print '-----------------------'
            print sio.getvalue().encode('utf-8')

        while not result_queue.empty():
            tests_run, was_successful = result_queue.get()
            total_tests_run += tests_run
            if not was_successful:
                fail = True

    os.unsetenv('IS_TBA_TEST')
    print "================================"
    print "Completed {} tests in: {} seconds".format(total_tests_run, time.time() - start_time)
    if fail:
        print "TESTS FAILED!"
    else:
        print "TESTS PASSED!"
    print "================================"
    if fail:
        sys.exit(1)
    else:
        sys.exit(0)
Beispiel #21
0
 def get(self):
     budgeteer = Budgeteer.getBudgeteerById(long(self.request.cookies.get('budgeteerIdToken')))
     if not budgeteer:
         self.redirect('/Login')
     template_params = dict()
     template_params['userName'] = budgeteer.userName
     template.register_template_library('web.templatetags.filter_app')
     html = template.render("web/templates/invite_friend.html", template_params)
     self.response.write(html)
Beispiel #22
0
    def generate(self, template_name, template_values):
        template.register_template_library('templatefilters')
        directory = os.path.dirname(__file__)
        path = os.path.join(directory, 
                            os.path.join('templates', template_name))

        self.response.out.write(template.render(path, 
                                                template_values, 
                                                debug=DEBUG))
def main(sdk_path, test_pattern):
    logging.disable(logging.WARNING)

    start_time = time.time()

    os.environ['IS_TBA_TEST'] = "true"

    sys.path.insert(0, sdk_path)
    import dev_appserver
    dev_appserver.fix_sys_path()

    # Set up custom django template filters
    from google.appengine.ext.webapp import template
    template.register_template_library('common.my_filters')

    suites = unittest2.loader.TestLoader().discover("tests", test_pattern)

    fail = False
    total_tests_run = 0
    if MULTITHREAD:
        proc_lock = multiprocessing.Lock()
        fail_count = multiprocessing.Value('i', 0)
        total_run = multiprocessing.Value('i', 0)
        pool = multiprocessing.Pool(MAX_JOBS, initializer=proc_init, initargs=(proc_lock, fail_count, total_run,))
        pool.map(run_suite, suites)
        pool.close()
        pool.join()

        fail = fail_count.value > 0
        total_tests_run = total_run.value
    else:
        result_queue = multiprocessing.Queue()
        for suite in suites:
            sio = StringIO.StringIO()
            testresult = unittest2.TextTestRunner(sio, verbosity=2).run(suite)
            result_queue.put((testresult.testsRun, testresult.wasSuccessful()))
            print '-----------------------'
            print sio.getvalue().encode('utf-8')

        while not result_queue.empty():
            tests_run, was_successful = result_queue.get()
            total_tests_run += tests_run
            if not was_successful:
                fail = True

    os.unsetenv('IS_TBA_TEST')
    print "================================"
    print "Completed {} tests in: {} seconds".format(total_tests_run, time.time() - start_time)
    if fail:
        print "TESTS FAILED!"
    else:
        print "TESTS PASSED!"
    print "================================"
    if fail:
        sys.exit(1)
    else:
        sys.exit(0)
def webapp_add_wsgi_middleware(app):
    os.environ["DJANGO_SETTINGS_MODULE"] = "utils.settings"
    template.register_template_library("templatetags.formats")
    template.register_template_library("templatetags.dictionary")

    # from apptrace.middleware import apptrace_middleware
    # app = apptrace_middleware(app)
    app = SessionMiddleware(app, cookie_key=conf.COOKIE_KEY, lifetime=datetime.timedelta(1), no_datastore=True)
    return app
Beispiel #25
0
def main(sdk_path, test_pattern):
    start_time = time.time()

    os.environ['IS_TBA_TEST'] = "true"

    # Fix django template loaders being messed up
    django.conf.global_settings.SECRET_KEY = ''.join(
        random.choice(string.ascii_uppercase + string.digits)
        for _ in range(10))
    os.environ.setdefault('DJANGO_SETTINGS_MODULE',
                          'django.conf.global_settings')

    # Set up custom django template filters
    from google.appengine.ext.webapp import template
    template.register_template_library('common.my_filters')

    sys.path.insert(0, sdk_path)
    import dev_appserver
    dev_appserver.fix_sys_path()

    suites = unittest2.loader.TestLoader().discover("tests", test_pattern)

    processes = []
    result_queue = multiprocessing.Queue()
    for suite in suites:
        process = multiprocessing.Process(target=start_suite,
                                          args=[suite, result_queue])
        process.start()
        processes.append(process)

    for process in processes:
        process.join()

    os.unsetenv('IS_TBA_TEST')
    fail = False
    total_tests_run = 0
    while not result_queue.empty():
        test_output, tests_run, was_successful = result_queue.get()
        total_tests_run += tests_run
        print '-----------------------'
        print test_output.encode('utf-8')
        if not was_successful:
            fail = True

    print "================================"
    print "Completed {} tests in: {} seconds".format(total_tests_run,
                                                     time.time() - start_time)
    if fail:
        print "TESTS FAILED!"
    else:
        print "TESTS PASSED!"
    print "================================"
    if fail:
        sys.exit(1)
    else:
        sys.exit(0)
Beispiel #26
0
def real_main():
    logging.debug("main(): Starting tasks-backup (app version %s)" %appversion.version)
    template.register_template_library("common.customdjango")

    application = webapp.WSGIApplication(
        [
            ('/admin/stats', DownloadStatsHandler),
        ], debug=False)
    util.run_wsgi_app(application)
    logging.debug("main(): <End>")
Beispiel #27
0
    def generate(self, template_name, template_values):
        template.register_template_library('templatefilters')
        directory = os.path.dirname(__file__)
        path = os.path.join(directory, 
                            os.path.join('templates', template_name))

        #Sam - setting the headers for IE IFrame bug
        self.response.headers["P3P"] = 'CP="IDC CURa ADMa OUR IND PHY ONL COM STA"'                            
        self.response.out.write(template.render(path, 
                                                template_values, 
                                                debug=DEBUG))
Beispiel #28
0
 def __init__(self, attempt, handler):
     BaseView.__init__(self, handler);
     self.attempt = attempt
     
     template.register_template_library('filters.resolve')
     
     self.values['attempt'] = attempt
     self.values['quiz'] = attempt.quiz
     self.values['quiz_snapshot'] = attempt.snapshot.quiz_entity
     self.values['questions'] = attempt.snapshot.questions
     self.values['responses'] = attempt.responses
Beispiel #29
0
 def __init__(self, app):
     template.register_template_library('gae_mini_profiler.templatetags')
     self.app = app
     self.app_clean = app
     self.prof = None
     self.recorder = None
     self.temporary_redirect = False
     self.handler = None
     self.logs = None
     self.simple_timing = False
     self.start = None
     self.end = None
Beispiel #30
0
def main():
    template.register_template_library("common.customdjango")

    application = webapp.WSGIApplication([("/", MainHandler),
                                          ("/auth", AuthRedirectHandler),
                                          ("/delete", DeleteHandler),
                                          ("/download", DownloadHandler),
                                          ("/import", ImportHandler),
                                          ("/oauth2callback", OAuthHandler),
                                          ("/sendmail", SendMailHandler),
                                          ("/snapshot", SnapshotHandler),
                                          ("/snapshots", ListHandler)])
    util.run_wsgi_app(application)
  def testValidateDjangoTemplate(self):
    self.mox.StubOutWithMock(template, 'register_template_library')
    self.mox.StubOutWithMock(template, 'Template')
    dummy = object()
    error = template.django.template.TemplateSyntaxError()

    template.register_template_library('template_functions.entities')
    template.Template(dummy)
    template.register_template_library('template_functions.entities')
    template.Template(dummy).AndRaise(error)
    self.mox.ReplayAll()
    model._ValidateDjangoTemplate(dummy)
    self.assertRaises(db.BadValueError, model._ValidateDjangoTemplate, dummy)
Beispiel #32
0
 def __init__(self, app):
     template.register_template_library('gae_mini_profiler.templatetags')
     self._lock = threading.RLock()
     self.app = app
     self.app_clean = app
     self.prof = None
     self.recorder = None
     self.temporary_redirect = False
     self.handler = None
     self.logs = None
     self.simple_timing = False
     self.start = None
     self.end = None
def main(sdk_path, test_pattern):
    start_time = time.time()

    os.environ['IS_TBA_TEST'] = "true"

    # Fix django template loaders being messed up
    django.conf.global_settings.SECRET_KEY = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(10))
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django.conf.global_settings')

    # Set up custom django template filters
    from google.appengine.ext.webapp import template
    template.register_template_library('common.my_filters')

    sys.path.insert(0, sdk_path)
    import dev_appserver
    dev_appserver.fix_sys_path()

    suites = unittest2.loader.TestLoader().discover("tests", test_pattern)

    processes = []
    result_queue = multiprocessing.Queue()
    for suite in suites:
        process = multiprocessing.Process(target=start_suite, args=[suite, result_queue])
        process.start()
        processes.append(process)

    for process in processes:
        process.join()

    os.unsetenv('IS_TBA_TEST')
    fail = False
    total_tests_run = 0
    while not result_queue.empty():
        test_output, tests_run, was_successful = result_queue.get()
        total_tests_run += tests_run
        print '-----------------------'
        print test_output.encode('utf-8')
        if not was_successful:
            fail = True

    print "================================"
    print "Completed {} tests in: {} seconds".format(total_tests_run, time.time() - start_time)
    if fail:
        print "TESTS FAILED!"
    else:
        print "TESTS PASSED!"
    print "================================"
    if fail:
        sys.exit(1)
    else:
        sys.exit(0)
Beispiel #34
0
    def get(self):
        budgeteer_id = None
        if self.request.cookies.get('budgeteerIdToken'):
            budgeteer_id = long(self.request.cookies.get('budgeteerIdToken'))
            budgeteer = Budgeteer.getBudgeteerById(budgeteer_id)
            if not budgeteer:
                self.error(404)
                self.redirect('/Login')
                return
        else:
            self.error(403)
            self.redirect('/Login')
            return

        if self.request.get("notification_id") is None or self.request.get("notification_id") == '':
            self.error(403)
            return

        notification_id = long(self.request.get("notification_id"))

        if notification_id is None:
            self.error(403)
            return

        notification = BudgeteerNotification.get_by_id(notification_id)

        if notification is None:
            self.error(403)
            return

        if notification.dstBudgeteer !=  Budgeteer.getBudgeteerById(budgeteer_id).key:
            self.error(403)
            self.response.write("You Are Not Authorized to remove this Notification")
            return

        BudgeteerNotification.setReadNotification(notification.key)
        notifications = BudgeteerNotification.getUnreadNotificationsByDstKey(budgeteer.key)
        template.register_template_library('web.templatetags.filter_app')

        list_to_write = []
        for notification_in_list in notifications:
            list_to_write.append({"message":notification_in_list.message })
        self.error(200)
        self.response.write(json.dumps(
            {
                'link': notification.link,
                'notifications':list_to_write,
                'status':'OK'
            }
        ))
Beispiel #35
0
def present(self, tmpl, values):
    """
    Gathers the necessary values to render the pages and
    sends them to the browser.
    """
    page=mc.get(self.request.path, namespace='pages')
    if page is None:
        template.register_template_library('django.contrib.markup.templatetags.markup')
        path = os.path.join(os.path.dirname(__file__), 'templates/'+tmpl)
        page=template.render(path, values)
        self.response.out.write(page+'<!--'+self.request.path+'-->')
        mc.set(self.request.path, page, 300, namespace='pages')
    else:
        self.response.out.write(page+'<!--cached-->')
Beispiel #36
0
 def __init__(self, app, keep_appstats=False):
     template.register_template_library("gae_mini_profiler.templatetags")
     self._lock = threading.RLock()
     self.app = app
     self.app_clean = app
     self.prof = None
     self.recorder = None
     self.temporary_redirect = False
     self.handler = None
     self.logs = None
     self.simple_timing = False
     self.start = None
     self.end = None
     self.keep_appstats = keep_appstats
 def get(self):
     if self.request.cookies.get('budgeteerIdToken'):
         budgeteer = Budgeteer.getBudgeteerById(long(self.request.cookies.get('budgeteerIdToken')))
         if not budgeteer:
             self.redirect('/Login')
             return
     else:
         self.redirect('/Login')
         return
     template.register_template_library('web.templatetags.filter_app')
     template_params = dict()
     template_params['userName'] = budgeteer.userName
     template_params['email'] = budgeteer.email
     html = template.render("web/templates/profile_settings.html", template_params)
     self.response.write(html)
Beispiel #38
0
def main():

	# locale.setlocale(locale.LC_ALL, ('pt_BR', 'iso8859-1'))
	template.register_template_library('customfilters')

	application = webapp.WSGIApplication([
		('/', mainh.MainHandler),
		('/ibrx', mainh.IBrXHandler),
		('/refilter', mainh.RefilterHandler),
		('/mail', mainh.MailHandler),
		# ('/update', crons.UpdateHandler),
		('/crons/update', crons.UpdateHandler),
	],debug=True)
	
	util.run_wsgi_app(application)
Beispiel #39
0
def main():
	application = webapp.WSGIApplication([
		(r'/auth/facebook/login', FBLoginHandler),
		(r'/auth/facebook/logout', FBLogoutHandler),
		('/', RootHandler),
		('/recipes', recipe_list),
		('/recipe', recipe_detail),
		('/recipe/edit', recipe_edit),
		('/recipe/jsonquery', recipe_jsonquery),
		('/schedule', schedule),
		('/schedule/modify', schedule_modify),
		('/profile', profile_detail),
		('/profile/preferences/modify', profile_modify_preference),
		('/about', about),
		('/get_image', get_image),
		('/import_content', import_content),
	], debug=True)
	template.register_template_library('django.contrib.humanize.templatetags.humanize')
	util.run_wsgi_app(application)
Beispiel #40
0
import webapp2, os, datetime, urllib, operator, logging
import settings as bitsettings
from xml.etree import ElementTree
from google.appengine.api import users, mail, search
from google.appengine.ext import ndb
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
from google.appengine.datastore.datastore_query import Cursor

## Load custom template filters
register = template.register_template_library('tags.templatefilters')


##
# Helper Functions
# These functions would otherwise be repeated in multiple classes.
##
def get_category_list():
    """Returns a list of the categories and subcategory combinations that currently have posts.
    This is used to populate the Browse section of the navigation, but is more complicated than necessary.
    It could just generate a list from bitsettings categories/subcategories, but I like the idea of it being dynamic.
    So it only loads Category/Subcategory combinations that contain a post.
    However, it comes at the cost of a query, so a static list would be more efficient.    
    This is taken care of via get_global_template_vars.
    """
    category_list = []
    for category in bitsettings.categories:
        category_list.append({
            'nav':
            category['ID'],
Beispiel #41
0
strPage = arrPathInfo.pop(0)
strAppPath = '../../app/'
strW3Path = '../../w3/'

# get content name
try:
    strContent = arrPathInfo[0]
except:
    strContent = 'index'

# set default page
if strPage == '':
    strPage = 'index'

# register our custom template filters
template.register_template_library('w3.templateFilter')

# load source page details (json)
if os.path.exists(strAppPath + 'page/' + strPage + '.w3'):
    objCompiler = w3c.page.compiler()
    # load page def
    objPageDef = json.load(open(strAppPath + 'page/' + strPage + '.w3'),
                           object_pairs_hook=dotDict)

    # add name to page def
    objPageDef.name = strPage

    # add path to page def
    objPageDef.path = arrPathInfo

    # check for ajax requests
Beispiel #42
0
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
import datetime
import logging
import os
import re
import sets
import urllib2

# local imports
from auth import auth
import toutf8
import const

template.register_template_library('toutf8')


# Storage model for package info recorded on server.
class Package(db.Model):
    path = db.StringProperty()
    web_url = db.StringProperty()  # derived from path
    count = db.IntegerProperty()  # grand total
    week_count = db.IntegerProperty()  # rolling weekly count
    day_count = db.TextProperty(default='')  # daily count
    last_install = db.DateTimeProperty()

    # data contributed by gobuilder
    info = db.StringProperty()
    ok = db.BooleanProperty()
    last_ok = db.DateTimeProperty()
Beispiel #43
0
import os, sys, traceback, models, utils
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from google.appengine.api import users

template.register_template_library('forum.filters')

root = '/forum'


class config():
    server = os.environ['SERVER_NAME']
    isLive = server == 'www.example.com'
    isBeta = server == 'example.appspot.com'
    isLocal = server == 'localhost'
    debug = not isLive
    viewdir = ''
    viewext = 'html'
    admin = 'Forum <*****@*****.**>'
    contact = 'Forum <*****@*****.**>'


# We extended 'webapp.RequestHandler' to reduce code cluttering
class request(webapp.RequestHandler):
    server = os.environ['SERVER_NAME'] if 'SERVER_NAME' in os.environ.keys(
    ) else ''
    referer = os.environ['HTTP_REFERER'] if 'HTTP_REFERER' in os.environ.keys(
    ) else ''
    ipaddress = os.environ['REMOTE_ADDR'] if 'REMOTE_ADDR' in os.environ.keys(
Beispiel #44
0
import logging
import hashlib
import keys
import prefetch
import helper
import random

from google.appengine.api import mail
from google.appengine.api import memcache
from google.appengine.ext import webapp, db
from google.appengine.ext.webapp import util, template
from google.appengine.ext.webapp.util import run_wsgi_app

from datetime import datetime, date, timedelta
from gaesessions import get_current_session
from django.utils import simplejson

from libs import PyRSS2Gen
from models import User, Post, Comment, Vote, Notification, Ticket


#register the desdetiempo filter to print time since in spanish
template.register_template_library('CustomFilters')

class Handler(webapp.RequestHandler):
  def get(self):
    self.response.out.write(template.render('templates/faq.html', locals()))


Beispiel #45
0
# -*- coding: utf-8 -*-
import os
from google.appengine.api import users
import webapp2
from webapp2_extras import sessions
from google.appengine.ext.webapp import template

import models
import tools.common
import settings
import logging

template.register_template_library('common.templateaddons')


class BaseRequestHandler(webapp2.RequestHandler):
    """Extension of the normal RequestHandler

    - self.userprefs provides the UserPrefs object of the current user.
    - self.render() provides a quick way to render templates with
      common template variables already preset.
    """
    def dispatch(self):
        # Get a session store for this request.
        self.session_store = sessions.get_store(request=self.request)
        self.userprefs = models.UserPrefs.from_user(users.get_current_user())

        self.response.headers[
            'X-UA-Compatible'] = 'chrome=1'  #Make sure Google Chrome Frame gets activated

        if 'count' in self.session:
Beispiel #46
0
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.dist import use_library
use_library('django', '1.2')
from google.appengine.ext.webapp import template

from gae_mini_profiler import profiler

application = webapp.WSGIApplication([
    ("/gae_mini_profiler/request", profiler.RequestStatsHandler),
    ("/gae_mini_profiler/shared", profiler.SharedStatsHandler),
])

template.register_template_library('gae_mini_profiler.templatetags')


def main():
    run_wsgi_app(application)


if __name__ == "__main__":
    main()
Beispiel #47
0
MAX_ENTITY_METADATA = 512
MAX_ENTITY_PROPERTY_METADATA = 32 * MAX_ENTITY_METADATA


def reftype(value):
    '''format the reference type'''
    ret = str(value)
    if not value:
        ret = ''
    return ret


#Register the template filter.
register = template.create_template_register()
register.filter(reftype)
template.register_template_library('services.schemaloader')


class TemplateItem:
    '''
    Helper class to provide for each iteration in the template
    This exists as I was unable to figure out issues in using a dictionary
    '''
    entity = None
    properties = []
    fkstring = ''


class AppImporterAndLoader(object):
    '''
    Class used to support the dynamic loading of application classes.
Beispiel #48
0
def main():
    application = django.core.handlers.wsgi.WSGIHandler()
    template_registrar.register_template_library('opentransit.tags')
    util.run_wsgi_app(application)
Beispiel #49
0
from google.appengine.ext.webapp.template import render, register_template_library
from google.appengine.ext import ndb
from google.appengine.api import users, memcache
from googleapiclient.errors import HttpError
from urlparse import urlparse
import logging
import webapp2
import config
import gsuite

from third_party import xsrfutil

register_template_library('third_party.xsrfutil')


class Link(ndb.Model):
    url = ndb.StringProperty()
    owner_id = ndb.StringProperty()
    owner_name = ndb.StringProperty()
    viewcount = ndb.IntegerProperty()
    public = ndb.BooleanProperty()
    visibility = ndb.TextProperty()


def errorPage(response, code, message):
    context = {'code': code, 'message': message, 'corpname': config.CORP_NAME}
    response.write(render('template/error.html', context))
    response.set_status(code)


def notFoundPage(response, link):
Beispiel #50
0
import urllib

from google.appengine.api import users
from google.appengine.ext.webapp import template
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

from helpers.app_helpers import helper
from helpers.app_helpers import BaseHandler

from django.utils import simplejson as json
from google.appengine.api import urlfetch
from urllib import urlencode
from appengine_utilities import sessions

template.register_template_library('helpers.app_filters')

POOTER_API_ENDPOINT = 'http://pooter-bee-live.appspot.com/'


class WebIndexPageHandler(BaseHandler):
    def get(self):
        path = helper.template_path("index.tmpl")
        self.response.out.write(template.render(path, self.template_args))


class WebPrizesPageHandler(BaseHandler):
    def get(self):
        path = helper.template_path("prizes.tmpl")
        self.response.out.write(template.render(path, self.template_args))
Beispiel #51
0
import string
import sys
import wsgiref.handlers
import logging

from google.appengine.api import users
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import login_required

# Set to true if we want to have our webapp print stack traces, etc
_DEBUG = True

# Add our custom Django template filters to the built in filters
template.register_template_library('templatefilters')


class GustarUser(db.Model):

    user = db.UserProperty(required=True)
    name = db.StringProperty()
    created = db.DateTimeProperty(auto_now_add=True)
    level = db.IntegerProperty()

    @staticmethod
    def get_current_gustar():
        return GustarUser.get_gustar(users.GetCurrentUser())

    @staticmethod
    def get_gustar(user):
Beispiel #52
0
import datetime
import os
import utils
import urllib

from google.appengine.api import users
from google.appengine.api.mail import send_mail
from google.appengine.ext.webapp import RequestHandler, template
from google.appengine.ext.db import GqlQuery

import utils
from models import Award, Badge, Member, NewsArticle, Talk

get_path = utils.path_getter(__file__)

template.register_template_library('templatetags.customtags')


class BaseHandler(RequestHandler):

    login_required = False
    title = None

    def render_template(self, template_name, template_dict=None):
        tag_line = 'Next meeting coming soon'

        if template_dict is None:
            template_dict = {}

        user = Member.get_current_member()
from google.appengine.ext import db
from google.appengine.api import users
from google.appengine.ext.webapp import template
from google.appengine.api import images

from django.utils import simplejson
from django.core.paginator import Paginator, InvalidPage

from pytz import common_timezones

from models import *
from decorators import *
from modelutils import *
from viewutils import *

template.register_template_library('templatetags.seconds_to_duration')
template.register_template_library('templatetags.scormcloud_filters')


# Page handlers
class StartPage(webapp.RequestHandler):
    @loginRequired
    def get(self):
        regs = GetUserRegs(users.get_current_user().user_id())

        myregs = []
        if regs is not None:
            for reg in regs.fetch(5):
                myregs.append(reg)
        self.template_values = {
            'regs': myregs,
Beispiel #54
0
from controllers.suggestions.suggest_event_webcast_review_controller import SuggestEventWebcastReviewController
from controllers.suggestions.suggest_offseason_event_controller import \
      SuggestOffseasonEventController
from controllers.suggestions.suggest_offseason_event_review_controller import \
      SuggestOffseasonEventReviewController
from controllers.suggestions.suggest_review_home_controller import SuggestReviewHomeController
from controllers.suggestions.suggest_social_media_review_controller import \
      SuggestSocialMediaReviewController
from controllers.suggestions.suggest_team_media_controller import SuggestTeamMediaController, SuggestTeamSocialMediaController
from controllers.suggestions.suggest_team_media_review_controller import SuggestTeamMediaReviewController
from controllers.test_notification_controller import TestNotificationController
from controllers.team_controller import TeamList, TeamCanonical, TeamDetail, TeamHistory
from controllers.webhook_controller import WebhookAdd, WebhookDelete, WebhookVerify, WebhookVerificationSend

from google.appengine.ext.webapp import template
template.register_template_library('common.my_filters')

landing_handler = {
    tba_config.KICKOFF: MainKickoffHandler,
    tba_config.BUILDSEASON: MainBuildseasonHandler,
    tba_config.CHAMPS: MainChampsHandler,
    tba_config.COMPETITIONSEASON: MainCompetitionseasonHandler,
    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
Beispiel #55
0
import logging

import simplejson as json

from lib.models import *
from lib.counter import *
from lib.lilcookies import *

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.webapp import template
from google.appengine.api import memcache
from google.appengine.api import users
from google.appengine.api import mail

template.register_template_library('with_tag')
template.register_template_library('media_tag')

import copy

cookie_secret = 'af8559a6788b1ee9fbe34307bc1ac39caf8559a6788b1ee9fbe34307bc1ac39c'

def is_production_mode():
    return os.environ['SERVER_NAME'] != 'localhost'

class Session:
    def __init__(self, handler):
        self.cookieutil = LilCookies(handler, cookie_secret)

    @property
    def data(self):
Beispiel #56
0
from v2ex.babel import Counter
from v2ex.babel import Section
from v2ex.babel import Node
from v2ex.babel import Topic
from v2ex.babel import Reply
from v2ex.babel import Note

from v2ex.babel import SYSTEM_VERSION

from v2ex.babel.security import *
from v2ex.babel.ua import *
from v2ex.babel.da import *
from v2ex.babel.l10n import *
from v2ex.babel.ext.cookies import Cookies

template.register_template_library('v2ex.templatetags.filters')

class SSOV0Handler(webapp.RequestHandler):
    def get(self):
        site = GetSite()
        self.response.headers['Content-type'] = 'application/json'
        u = self.request.get('u').strip().lower()
        p = self.request.get('p').strip()
        failed = '{"ok" : 0}'
        if (len(u) > 0) and (len(p) > 0):
            q = db.GqlQuery("SELECT * FROM Member WHERE username_lower = :1 AND password = :2", u, p)
            if q.count() > 0:
                member = q[0]
                if member.avatar_mini_url:
                    if (member.avatar_mini_url[0:1] == '/'):
                        member.avatar_mini_url = 'http://' + site.domain + member.avatar_mini_url
Beispiel #57
0
# -*- coding: utf-8 -*-
import os
import logging
from google.appengine.ext.webapp import template
template.register_template_library('helpers')
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.dist import use_library
from google.appengine.api import memcache
from models import get_latest_quakes
#use_library('django', '1.1')

here = os.path.dirname(__file__)
templates = os.path.join(here, 'templates')

local_map_key = "ABQIAAAApCc17xw_sX2y1D0IRfZ9thQF9y_VW7YbO34P9zbzd5titAk1JBQYVrqdLJBqmm7_UiKnRWLrO5r1AQ"
production_map_key = "ABQIAAAApCc17xw_sX2y1D0IRfZ9thRlOb26qSyU154aZeLwOrF4C7-DphRThtcCrT9SUkfbx1aqRgFa-JhX7A"


class MainPage(webapp.RequestHandler):
    def get(self):
        context = {
            "scrape_list_ran_at": memcache.get("scrape_list_ran_at"),
            "scrape_details_ran_at": memcache.get("scrape_details_ran_at"),
        }

        url = os.environ['HTTP_HOST'] if os.environ.get(
            'HTTP_HOST') else os.environ['SERVER_NAME']
        context["map_api_key"] = local_map_key if ('192' in url) or (
            'localhost' in url) else production_map_key
        logging.info("url: %s" % url)
Beispiel #58
0
# 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.
"""Main frontend/UI handlers."""

__author__ = '[email protected] (Roman Nurik)'

import os
import os.path
import wsgiref.handlers

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template

template.register_template_library(
    'django.contrib.humanize.templatetags.humanize')
template.register_template_library('templatelib')


def make_static_handler(template_file):
    """Creates a webapp.RequestHandler type that renders the given template
  to the response stream."""
    class StaticHandler(webapp.RequestHandler):
        def get(self):
            self.response.out.write(
                template.render(
                    os.path.join(os.path.dirname(__file__), template_file),
                    {'current_user': users.get_current_user()}))

    return StaticHandler
Beispiel #59
0
import ai as ai_module
import code_signature
import world
from lib import jsplayer
from lib.trueskill import trueskill

from collections import defaultdict

import settings
import main as dmangame

import logging
log = logging.getLogger("APPENGINE")
log.setLevel(logging.INFO)

template.register_template_library('appengine.extensions')

TEMPLATE_DIR = os.path.join(os.path.dirname(__file__), 'templates')
BUCKET = "dmangame-hrd.appspot.com"


class Tournament(db.Model):
    created_at = db.DateTimeProperty(auto_now_add=True)
    participants = db.IntegerProperty()


class GameRun(db.Model):
    created_at = db.DateTimeProperty(auto_now_add=True)
    map_name = db.StringProperty()
    run_time = db.FloatProperty()
    replay = blobstore.BlobReferenceProperty()