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
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)
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
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)
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)
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
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)
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)
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')
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)
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)
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)
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)
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))
def main(): template.register_template_library('filters') routes = [('/admin/', DefaultHandler), ('/admin/x', ModifyHandler)] application = webapp.WSGIApplication(routes, debug=True) util.run_wsgi_app(application)
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
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 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)
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
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)
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>")
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))
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
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
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)
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)
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' } ))
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-->')
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)
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)
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)
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'],
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
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()
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(
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()))
# -*- 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:
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()
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.
def main(): application = django.core.handlers.wsgi.WSGIHandler() template_registrar.register_template_library('opentransit.tags') util.run_wsgi_app(application)
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):
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))
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):
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,
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
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):
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
# -*- 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)
# 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
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()