├── .coveragerc ├── .gitignore ├── .hgignore ├── .hgtags ├── AUTHORS ├── CHANGES ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README ├── TODO ├── docs ├── Makefile ├── _static │ ├── README │ ├── webapp2_blue.png │ ├── webapp2_blue_small.png │ └── webapp2_blue_tiny.png ├── _templates │ └── README ├── _themes │ └── webapp2 │ │ ├── layout.html │ │ ├── pygapp2.py │ │ ├── static │ │ ├── gcode.css │ │ └── webapp2.css │ │ └── theme.conf ├── api │ ├── extras.config.rst │ ├── extras.i18n.rst │ ├── extras.jinja2.rst │ ├── extras.json.rst │ ├── extras.local.rst │ ├── extras.local_app.rst │ ├── extras.mako.rst │ ├── extras.protorpc.rst │ ├── extras.routes.rst │ ├── extras.securecookie.rst │ ├── extras.security.rst │ ├── extras.sessions.rst │ ├── extras.sessions_memcache.rst │ ├── extras.sessions_ndb.rst │ ├── extras.users.rst │ ├── index.rst │ ├── webapp2.rst │ └── webapp2_extras │ │ ├── appengine │ │ ├── auth │ │ │ └── models.rst │ │ ├── ndb │ │ │ └── unique_model.rst │ │ ├── sessions_memcache.rst │ │ ├── sessions_ndb.rst │ │ └── users.rst │ │ ├── auth.rst │ │ ├── config.rst │ │ ├── i18n.rst │ │ ├── jinja2.rst │ │ ├── json.rst │ │ ├── local.rst │ │ ├── local_app.rst │ │ ├── mako.rst │ │ ├── protorpc.rst │ │ ├── routes.rst │ │ ├── securecookie.rst │ │ ├── security.rst │ │ └── sessions.rst ├── conf.py ├── features.rst ├── guide │ ├── app.rst │ ├── exceptions.rst │ ├── extras.rst │ ├── handlers.rst │ ├── index.rst │ ├── request.rst │ ├── response.rst │ ├── routing.rst │ └── testing.rst ├── index.rst ├── make.bat ├── todo.rst └── tutorials │ ├── gettingstarted │ ├── devenvironment.rst │ ├── handlingforms.rst │ ├── helloworld.rst │ ├── index.rst │ ├── introduction.rst │ ├── staticfiles.rst │ ├── templates.rst │ ├── uploading.rst │ ├── usingdatastore.rst │ ├── usingusers.rst │ └── usingwebapp2.rst │ ├── i18n.rst │ ├── index.rst │ ├── installing.packages.rst │ ├── marketplace.single.signon.rst │ ├── quickstart.nogae.rst │ ├── quickstart.rst │ └── virtualenv.rst ├── example ├── app.yaml ├── handlers.py ├── index.yaml ├── main.py ├── static │ ├── favicon.ico │ └── robots.txt └── webapp2.py ├── lib ├── Jinja2-2.6 │ ├── AUTHORS │ ├── CHANGES │ ├── LICENSE │ ├── MANIFEST.in │ ├── Makefile │ ├── PKG-INFO │ ├── artwork │ │ └── jinjalogo.svg │ ├── custom_fixers │ │ ├── __init__.py │ │ ├── fix_alt_unicode.py │ │ ├── fix_broken_reraising.py │ │ └── fix_xrange2.py │ ├── docs │ │ ├── Makefile │ │ ├── _static │ │ │ ├── .ignore │ │ │ └── jinja-small.png │ │ ├── _templates │ │ │ ├── sidebarintro.html │ │ │ └── sidebarlogo.html │ │ ├── _themes │ │ │ ├── LICENSE │ │ │ ├── README │ │ │ └── jinja │ │ │ │ ├── layout.html │ │ │ │ ├── relations.html │ │ │ │ ├── static │ │ │ │ └── jinja.css_t │ │ │ │ └── theme.conf │ │ ├── api.rst │ │ ├── cache_extension.py │ │ ├── changelog.rst │ │ ├── conf.py │ │ ├── contents.rst.inc │ │ ├── extensions.rst │ │ ├── faq.rst │ │ ├── index.rst │ │ ├── integration.rst │ │ ├── intro.rst │ │ ├── jinjaext.py │ │ ├── jinjastyle.sty │ │ ├── latexindex.rst │ │ ├── logo.pdf │ │ ├── sandbox.rst │ │ ├── switching.rst │ │ ├── templates.rst │ │ └── tricks.rst │ ├── examples │ │ ├── basic │ │ │ ├── cycle.py │ │ │ ├── debugger.py │ │ │ ├── inheritance.py │ │ │ ├── templates │ │ │ │ ├── broken.html │ │ │ │ └── subbroken.html │ │ │ ├── test.py │ │ │ ├── test2.py │ │ │ ├── test_filter_and_linestatements.py │ │ │ ├── test_loop_filter.py │ │ │ └── translate.py │ │ ├── bench.py │ │ ├── profile.py │ │ └── rwbench │ │ │ ├── django │ │ │ ├── _form.html │ │ │ ├── _input_field.html │ │ │ ├── _textarea.html │ │ │ ├── index.html │ │ │ └── layout.html │ │ │ ├── djangoext.py │ │ │ ├── genshi │ │ │ ├── helpers.html │ │ │ ├── index.html │ │ │ └── layout.html │ │ │ ├── jinja │ │ │ ├── helpers.html │ │ │ ├── index.html │ │ │ └── layout.html │ │ │ ├── mako │ │ │ ├── helpers.html │ │ │ ├── index.html │ │ │ └── layout.html │ │ │ └── rwbench.py │ ├── ext │ │ ├── JinjaTemplates.tmbundle.tar.gz │ │ ├── Vim │ │ │ └── jinja.vim │ │ ├── django2jinja │ │ │ ├── django2jinja.py │ │ │ ├── example.py │ │ │ └── templates │ │ │ │ ├── index.html │ │ │ │ ├── layout.html │ │ │ │ └── subtemplate.html │ │ ├── djangojinja2.py │ │ ├── inlinegettext.py │ │ └── jinja.el │ ├── jinja2 │ │ ├── __init__.py │ │ ├── _debugsupport.c │ │ ├── _markupsafe │ │ │ ├── __init__.py │ │ │ ├── _bundle.py │ │ │ ├── _constants.py │ │ │ ├── _native.py │ │ │ └── tests.py │ │ ├── _stringdefs.py │ │ ├── bccache.py │ │ ├── compiler.py │ │ ├── constants.py │ │ ├── debug.py │ │ ├── defaults.py │ │ ├── environment.py │ │ ├── exceptions.py │ │ ├── ext.py │ │ ├── filters.py │ │ ├── lexer.py │ │ ├── loaders.py │ │ ├── meta.py │ │ ├── nodes.py │ │ ├── optimizer.py │ │ ├── parser.py │ │ ├── runtime.py │ │ ├── sandbox.py │ │ ├── tests.py │ │ ├── testsuite │ │ │ ├── __init__.py │ │ │ ├── api.py │ │ │ ├── core_tags.py │ │ │ ├── debug.py │ │ │ ├── doctests.py │ │ │ ├── ext.py │ │ │ ├── filters.py │ │ │ ├── imports.py │ │ │ ├── inheritance.py │ │ │ ├── lexnparse.py │ │ │ ├── loader.py │ │ │ ├── regression.py │ │ │ ├── res │ │ │ │ ├── __init__.py │ │ │ │ └── templates │ │ │ │ │ ├── broken.html │ │ │ │ │ ├── foo │ │ │ │ │ └── test.html │ │ │ │ │ ├── syntaxerror.html │ │ │ │ │ └── test.html │ │ │ ├── security.py │ │ │ ├── tests.py │ │ │ └── utils.py │ │ ├── utils.py │ │ └── visitor.py │ ├── setup.cfg │ └── setup.py ├── Mako-0.4.1 │ ├── CHANGES │ ├── LICENSE │ ├── MANIFEST.in │ ├── PKG-INFO │ ├── README │ ├── README.py3k │ ├── distribute_setup.py │ ├── doc │ │ ├── _sources │ │ │ ├── caching.txt │ │ │ ├── defs.txt │ │ │ ├── filtering.txt │ │ │ ├── index.txt │ │ │ ├── inheritance.txt │ │ │ ├── namespaces.txt │ │ │ ├── runtime.txt │ │ │ ├── syntax.txt │ │ │ ├── unicode.txt │ │ │ └── usage.txt │ │ ├── _static │ │ │ ├── basic.css │ │ │ ├── default.css │ │ │ ├── docs.css │ │ │ ├── doctools.js │ │ │ ├── file.png │ │ │ ├── jquery.js │ │ │ ├── minus.png │ │ │ ├── plus.png │ │ │ ├── pygments.css │ │ │ ├── searchtools.js │ │ │ ├── sidebar.js │ │ │ └── underscore.js │ │ ├── build │ │ │ ├── Makefile │ │ │ ├── builder │ │ │ │ ├── __init__.py │ │ │ │ ├── builders.py │ │ │ │ └── util.py │ │ │ ├── caching.rst │ │ │ ├── conf.py │ │ │ ├── defs.rst │ │ │ ├── filtering.rst │ │ │ ├── index.rst │ │ │ ├── inheritance.rst │ │ │ ├── namespaces.rst │ │ │ ├── runtime.rst │ │ │ ├── static │ │ │ │ └── docs.css │ │ │ ├── syntax.rst │ │ │ ├── templates │ │ │ │ ├── genindex.mako │ │ │ │ ├── layout.mako │ │ │ │ ├── page.mako │ │ │ │ ├── search.mako │ │ │ │ ├── site_base.mako │ │ │ │ └── static_base.mako │ │ │ ├── unicode.rst │ │ │ └── usage.rst │ │ ├── caching.html │ │ ├── defs.html │ │ ├── filtering.html │ │ ├── genindex.html │ │ ├── index.html │ │ ├── inheritance.html │ │ ├── namespaces.html │ │ ├── runtime.html │ │ ├── search.html │ │ ├── searchindex.js │ │ ├── syntax.html │ │ ├── unicode.html │ │ └── usage.html │ ├── examples │ │ ├── bench │ │ │ ├── basic.py │ │ │ ├── cheetah │ │ │ │ ├── footer.tmpl │ │ │ │ ├── header.tmpl │ │ │ │ └── template.tmpl │ │ │ ├── django │ │ │ │ └── templatetags │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── bench.py │ │ │ ├── kid │ │ │ │ ├── base.kid │ │ │ │ └── template.kid │ │ │ └── myghty │ │ │ │ ├── base.myt │ │ │ │ └── template.myt │ │ └── wsgi │ │ │ └── run_wsgi.py │ ├── mako │ │ ├── __init__.py │ │ ├── _ast_util.py │ │ ├── ast.py │ │ ├── cache.py │ │ ├── codegen.py │ │ ├── exceptions.py │ │ ├── ext │ │ │ ├── __init__.py │ │ │ ├── autohandler.py │ │ │ ├── babelplugin.py │ │ │ ├── preprocessors.py │ │ │ ├── pygmentplugin.py │ │ │ └── turbogears.py │ │ ├── filters.py │ │ ├── lexer.py │ │ ├── lookup.py │ │ ├── parsetree.py │ │ ├── pygen.py │ │ ├── pyparser.py │ │ ├── runtime.py │ │ ├── template.py │ │ └── util.py │ ├── scripts │ │ └── mako-render │ ├── setup.cfg │ ├── setup.py │ └── test │ │ ├── __init__.py │ │ ├── foo │ │ ├── __init__.py │ │ └── test_ns.py │ │ ├── sample_module_namespace.py │ │ ├── templates │ │ ├── badbom.html │ │ ├── bom.html │ │ ├── bommagic.html │ │ ├── chs_unicode.html │ │ ├── chs_unicode_py3k.html │ │ ├── chs_utf8.html │ │ ├── crlf.html │ │ ├── foo │ │ │ └── modtest.html.py │ │ ├── gettext.mako │ │ ├── index.html │ │ ├── internationalization.html │ │ ├── modtest.html │ │ ├── read_unicode.html │ │ ├── read_unicode_py3k.html │ │ ├── runtimeerr.html │ │ ├── runtimeerr_py3k.html │ │ ├── subdir │ │ │ ├── foo │ │ │ │ └── modtest.html.py │ │ │ ├── incl.html │ │ │ ├── index.html │ │ │ └── modtest.html │ │ ├── unicode.html │ │ ├── unicode_arguments.html │ │ ├── unicode_arguments_py3k.html │ │ ├── unicode_code.html │ │ ├── unicode_code_py3k.html │ │ ├── unicode_expr.html │ │ ├── unicode_expr_py3k.html │ │ ├── unicode_runtime_error.html │ │ └── unicode_syntax_error.html │ │ ├── test_ast.py │ │ ├── test_babelplugin.py │ │ ├── test_block.py │ │ ├── test_cache.py │ │ ├── test_call.py │ │ ├── test_decorators.py │ │ ├── test_def.py │ │ ├── test_exceptions.py │ │ ├── test_filters.py │ │ ├── test_inheritance.py │ │ ├── test_lexer.py │ │ ├── test_lookup.py │ │ ├── test_lru.py │ │ ├── test_namespace.py │ │ ├── test_pygen.py │ │ ├── test_template.py │ │ ├── test_tgplugin.py │ │ ├── test_util.py │ │ └── util.py ├── WebOb-1.0.8 │ ├── MANIFEST.in │ ├── PKG-INFO │ ├── docs │ │ ├── comment-example-code │ │ │ └── example.py │ │ ├── comment-example.txt │ │ ├── conf.py │ │ ├── differences.txt │ │ ├── do-it-yourself.txt │ │ ├── doctests.py │ │ ├── file-example.txt │ │ ├── index.txt │ │ ├── jsonrpc-example-code │ │ │ ├── jsonrpc.py │ │ │ ├── test_jsonrpc.py │ │ │ └── test_jsonrpc.txt │ │ ├── jsonrpc-example.txt │ │ ├── license.txt │ │ ├── modules │ │ │ ├── dec.txt │ │ │ └── webob.txt │ │ ├── news.txt │ │ ├── pycon2011 │ │ │ ├── pycon-py3k-sprint.txt │ │ │ ├── request_table.rst │ │ │ └── response_table.rst │ │ ├── reference.txt │ │ ├── test-file.txt │ │ ├── test_dec.txt │ │ ├── test_request.txt │ │ ├── test_response.txt │ │ ├── wiki-example-code │ │ │ └── example.py │ │ └── wiki-example.txt │ ├── setup.cfg │ ├── setup.py │ ├── tests │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── performance_test.py │ │ ├── test_acceptparse.py │ │ ├── test_byterange.py │ │ ├── test_cachecontrol.py │ │ ├── test_cookies.py │ │ ├── test_datetime_utils.py │ │ ├── test_dec.py │ │ ├── test_descriptors.py │ │ ├── test_etag.py │ │ ├── test_exc.py │ │ ├── test_headers.py │ │ ├── test_in_wsgiref.py │ │ ├── test_misc.py │ │ ├── test_multidict.py │ │ ├── test_request.py │ │ ├── test_request_nose.py │ │ └── test_response.py │ └── webob │ │ ├── __init__.py │ │ ├── acceptparse.py │ │ ├── byterange.py │ │ ├── cachecontrol.py │ │ ├── cookies.py │ │ ├── datetime_utils.py │ │ ├── dec.py │ │ ├── descriptors.py │ │ ├── etag.py │ │ ├── exc.py │ │ ├── headers.py │ │ ├── multidict.py │ │ ├── request.py │ │ ├── response.py │ │ └── util.py ├── appengine-ndb-experiment │ ├── .hgignore │ ├── .hgtags │ ├── LICENSE │ ├── Makefile │ ├── README │ ├── app.yaml │ ├── appengine_config.py │ ├── bench.py │ ├── bpt.py │ ├── demo │ │ ├── __init__.py │ │ ├── fibo.py │ │ ├── hello.py │ │ ├── main.py │ │ └── test.py │ ├── driver.py │ ├── ndb │ │ ├── __init__.py │ │ ├── context.py │ │ ├── context_test.py │ │ ├── eventloop.py │ │ ├── eventloop_test.py │ │ ├── key.py │ │ ├── key_test.py │ │ ├── model.py │ │ ├── model_test.py │ │ ├── query.py │ │ ├── query_test.py │ │ ├── rpc_test.py │ │ ├── tasklets.py │ │ ├── tasklets_test.py │ │ ├── test_utils.py │ │ ├── thread_test.py │ │ └── utils.py │ └── startup.py ├── babel │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL.txt │ ├── MANIFEST.in │ ├── README.txt │ ├── babel │ │ ├── __init__.py │ │ ├── core.py │ │ ├── dates.py │ │ ├── global.dat │ │ ├── localedata.py │ │ ├── localedata │ │ │ ├── aa.dat │ │ │ ├── aa_DJ.dat │ │ │ ├── aa_ER.dat │ │ │ ├── aa_ER_SAAHO.dat │ │ │ ├── aa_ET.dat │ │ │ ├── af.dat │ │ │ ├── af_NA.dat │ │ │ ├── af_ZA.dat │ │ │ ├── ak.dat │ │ │ ├── ak_GH.dat │ │ │ ├── am.dat │ │ │ ├── am_ET.dat │ │ │ ├── ar.dat │ │ │ ├── ar_AE.dat │ │ │ ├── ar_BH.dat │ │ │ ├── ar_DZ.dat │ │ │ ├── ar_EG.dat │ │ │ ├── ar_IQ.dat │ │ │ ├── ar_JO.dat │ │ │ ├── ar_KW.dat │ │ │ ├── ar_LB.dat │ │ │ ├── ar_LY.dat │ │ │ ├── ar_MA.dat │ │ │ ├── ar_OM.dat │ │ │ ├── ar_QA.dat │ │ │ ├── ar_SA.dat │ │ │ ├── ar_SD.dat │ │ │ ├── ar_SY.dat │ │ │ ├── ar_TN.dat │ │ │ ├── ar_YE.dat │ │ │ ├── as.dat │ │ │ ├── as_IN.dat │ │ │ ├── az.dat │ │ │ ├── az_AZ.dat │ │ │ ├── az_Cyrl.dat │ │ │ ├── az_Cyrl_AZ.dat │ │ │ ├── az_Latn.dat │ │ │ ├── az_Latn_AZ.dat │ │ │ ├── be.dat │ │ │ ├── be_BY.dat │ │ │ ├── bg.dat │ │ │ ├── bg_BG.dat │ │ │ ├── bn.dat │ │ │ ├── bn_BD.dat │ │ │ ├── bn_IN.dat │ │ │ ├── bo.dat │ │ │ ├── bo_CN.dat │ │ │ ├── bo_IN.dat │ │ │ ├── bs.dat │ │ │ ├── bs_BA.dat │ │ │ ├── byn.dat │ │ │ ├── byn_ER.dat │ │ │ ├── ca.dat │ │ │ ├── ca_ES.dat │ │ │ ├── cch.dat │ │ │ ├── cch_NG.dat │ │ │ ├── cop.dat │ │ │ ├── cs.dat │ │ │ ├── cs_CZ.dat │ │ │ ├── cy.dat │ │ │ ├── cy_GB.dat │ │ │ ├── da.dat │ │ │ ├── da_DK.dat │ │ │ ├── de.dat │ │ │ ├── de_AT.dat │ │ │ ├── de_BE.dat │ │ │ ├── de_CH.dat │ │ │ ├── de_DE.dat │ │ │ ├── de_LI.dat │ │ │ ├── de_LU.dat │ │ │ ├── dv.dat │ │ │ ├── dv_MV.dat │ │ │ ├── dz.dat │ │ │ ├── dz_BT.dat │ │ │ ├── ee.dat │ │ │ ├── ee_GH.dat │ │ │ ├── ee_TG.dat │ │ │ ├── el.dat │ │ │ ├── el_CY.dat │ │ │ ├── el_GR.dat │ │ │ ├── el_POLYTON.dat │ │ │ ├── en.dat │ │ │ ├── en_AS.dat │ │ │ ├── en_AU.dat │ │ │ ├── en_BE.dat │ │ │ ├── en_BW.dat │ │ │ ├── en_BZ.dat │ │ │ ├── en_CA.dat │ │ │ ├── en_Dsrt.dat │ │ │ ├── en_Dsrt_US.dat │ │ │ ├── en_GB.dat │ │ │ ├── en_GU.dat │ │ │ ├── en_HK.dat │ │ │ ├── en_IE.dat │ │ │ ├── en_IN.dat │ │ │ ├── en_JM.dat │ │ │ ├── en_MH.dat │ │ │ ├── en_MP.dat │ │ │ ├── en_MT.dat │ │ │ ├── en_NA.dat │ │ │ ├── en_NZ.dat │ │ │ ├── en_PH.dat │ │ │ ├── en_PK.dat │ │ │ ├── en_SG.dat │ │ │ ├── en_Shaw.dat │ │ │ ├── en_TT.dat │ │ │ ├── en_UM.dat │ │ │ ├── en_US.dat │ │ │ ├── en_US_POSIX.dat │ │ │ ├── en_VI.dat │ │ │ ├── en_ZA.dat │ │ │ ├── en_ZW.dat │ │ │ ├── eo.dat │ │ │ ├── es.dat │ │ │ ├── es_AR.dat │ │ │ ├── es_BO.dat │ │ │ ├── es_CL.dat │ │ │ ├── es_CO.dat │ │ │ ├── es_CR.dat │ │ │ ├── es_DO.dat │ │ │ ├── es_EC.dat │ │ │ ├── es_ES.dat │ │ │ ├── es_GT.dat │ │ │ ├── es_HN.dat │ │ │ ├── es_MX.dat │ │ │ ├── es_NI.dat │ │ │ ├── es_PA.dat │ │ │ ├── es_PE.dat │ │ │ ├── es_PR.dat │ │ │ ├── es_PY.dat │ │ │ ├── es_SV.dat │ │ │ ├── es_US.dat │ │ │ ├── es_UY.dat │ │ │ ├── es_VE.dat │ │ │ ├── et.dat │ │ │ ├── et_EE.dat │ │ │ ├── eu.dat │ │ │ ├── eu_ES.dat │ │ │ ├── fa.dat │ │ │ ├── fa_AF.dat │ │ │ ├── fa_IR.dat │ │ │ ├── fi.dat │ │ │ ├── fi_FI.dat │ │ │ ├── fil.dat │ │ │ ├── fil_PH.dat │ │ │ ├── fo.dat │ │ │ ├── fo_FO.dat │ │ │ ├── fr.dat │ │ │ ├── fr_BE.dat │ │ │ ├── fr_CA.dat │ │ │ ├── fr_CH.dat │ │ │ ├── fr_FR.dat │ │ │ ├── fr_LU.dat │ │ │ ├── fr_MC.dat │ │ │ ├── fr_SN.dat │ │ │ ├── fur.dat │ │ │ ├── fur_IT.dat │ │ │ ├── ga.dat │ │ │ ├── ga_IE.dat │ │ │ ├── gaa.dat │ │ │ ├── gaa_GH.dat │ │ │ ├── gez.dat │ │ │ ├── gez_ER.dat │ │ │ ├── gez_ET.dat │ │ │ ├── gl.dat │ │ │ ├── gl_ES.dat │ │ │ ├── gsw.dat │ │ │ ├── gsw_CH.dat │ │ │ ├── gu.dat │ │ │ ├── gu_IN.dat │ │ │ ├── gv.dat │ │ │ ├── gv_GB.dat │ │ │ ├── ha.dat │ │ │ ├── ha_Arab.dat │ │ │ ├── ha_Arab_NG.dat │ │ │ ├── ha_Arab_SD.dat │ │ │ ├── ha_GH.dat │ │ │ ├── ha_Latn.dat │ │ │ ├── ha_Latn_GH.dat │ │ │ ├── ha_Latn_NE.dat │ │ │ ├── ha_Latn_NG.dat │ │ │ ├── ha_NE.dat │ │ │ ├── ha_NG.dat │ │ │ ├── ha_SD.dat │ │ │ ├── haw.dat │ │ │ ├── haw_US.dat │ │ │ ├── he.dat │ │ │ ├── he_IL.dat │ │ │ ├── hi.dat │ │ │ ├── hi_IN.dat │ │ │ ├── hr.dat │ │ │ ├── hr_HR.dat │ │ │ ├── hu.dat │ │ │ ├── hu_HU.dat │ │ │ ├── hy.dat │ │ │ ├── hy_AM.dat │ │ │ ├── hy_AM_REVISED.dat │ │ │ ├── ia.dat │ │ │ ├── id.dat │ │ │ ├── id_ID.dat │ │ │ ├── ig.dat │ │ │ ├── ig_NG.dat │ │ │ ├── ii.dat │ │ │ ├── ii_CN.dat │ │ │ ├── in.dat │ │ │ ├── is.dat │ │ │ ├── is_IS.dat │ │ │ ├── it.dat │ │ │ ├── it_CH.dat │ │ │ ├── it_IT.dat │ │ │ ├── iu.dat │ │ │ ├── iw.dat │ │ │ ├── ja.dat │ │ │ ├── ja_JP.dat │ │ │ ├── ka.dat │ │ │ ├── ka_GE.dat │ │ │ ├── kaj.dat │ │ │ ├── kaj_NG.dat │ │ │ ├── kam.dat │ │ │ ├── kam_KE.dat │ │ │ ├── kcg.dat │ │ │ ├── kcg_NG.dat │ │ │ ├── kfo.dat │ │ │ ├── kfo_CI.dat │ │ │ ├── kk.dat │ │ │ ├── kk_Cyrl.dat │ │ │ ├── kk_Cyrl_KZ.dat │ │ │ ├── kk_KZ.dat │ │ │ ├── kl.dat │ │ │ ├── kl_GL.dat │ │ │ ├── km.dat │ │ │ ├── km_KH.dat │ │ │ ├── kn.dat │ │ │ ├── kn_IN.dat │ │ │ ├── ko.dat │ │ │ ├── ko_KR.dat │ │ │ ├── kok.dat │ │ │ ├── kok_IN.dat │ │ │ ├── kpe.dat │ │ │ ├── kpe_GN.dat │ │ │ ├── kpe_LR.dat │ │ │ ├── ku.dat │ │ │ ├── ku_Arab.dat │ │ │ ├── ku_Arab_IQ.dat │ │ │ ├── ku_Arab_IR.dat │ │ │ ├── ku_Arab_SY.dat │ │ │ ├── ku_IQ.dat │ │ │ ├── ku_IR.dat │ │ │ ├── ku_Latn.dat │ │ │ ├── ku_Latn_TR.dat │ │ │ ├── ku_SY.dat │ │ │ ├── ku_TR.dat │ │ │ ├── kw.dat │ │ │ ├── kw_GB.dat │ │ │ ├── ky.dat │ │ │ ├── ky_KG.dat │ │ │ ├── ln.dat │ │ │ ├── ln_CD.dat │ │ │ ├── ln_CG.dat │ │ │ ├── lo.dat │ │ │ ├── lo_LA.dat │ │ │ ├── lt.dat │ │ │ ├── lt_LT.dat │ │ │ ├── lv.dat │ │ │ ├── lv_LV.dat │ │ │ ├── mk.dat │ │ │ ├── mk_MK.dat │ │ │ ├── ml.dat │ │ │ ├── ml_IN.dat │ │ │ ├── mn.dat │ │ │ ├── mn_CN.dat │ │ │ ├── mn_Cyrl.dat │ │ │ ├── mn_Cyrl_MN.dat │ │ │ ├── mn_MN.dat │ │ │ ├── mn_Mong.dat │ │ │ ├── mn_Mong_CN.dat │ │ │ ├── mo.dat │ │ │ ├── mr.dat │ │ │ ├── mr_IN.dat │ │ │ ├── ms.dat │ │ │ ├── ms_BN.dat │ │ │ ├── ms_MY.dat │ │ │ ├── mt.dat │ │ │ ├── mt_MT.dat │ │ │ ├── my.dat │ │ │ ├── my_MM.dat │ │ │ ├── nb.dat │ │ │ ├── nb_NO.dat │ │ │ ├── nds.dat │ │ │ ├── nds_DE.dat │ │ │ ├── ne.dat │ │ │ ├── ne_IN.dat │ │ │ ├── ne_NP.dat │ │ │ ├── nl.dat │ │ │ ├── nl_BE.dat │ │ │ ├── nl_NL.dat │ │ │ ├── nn.dat │ │ │ ├── nn_NO.dat │ │ │ ├── no.dat │ │ │ ├── nr.dat │ │ │ ├── nr_ZA.dat │ │ │ ├── nso.dat │ │ │ ├── nso_ZA.dat │ │ │ ├── ny.dat │ │ │ ├── ny_MW.dat │ │ │ ├── oc.dat │ │ │ ├── oc_FR.dat │ │ │ ├── om.dat │ │ │ ├── om_ET.dat │ │ │ ├── om_KE.dat │ │ │ ├── or.dat │ │ │ ├── or_IN.dat │ │ │ ├── pa.dat │ │ │ ├── pa_Arab.dat │ │ │ ├── pa_Arab_PK.dat │ │ │ ├── pa_Guru.dat │ │ │ ├── pa_Guru_IN.dat │ │ │ ├── pa_IN.dat │ │ │ ├── pa_PK.dat │ │ │ ├── pl.dat │ │ │ ├── pl_PL.dat │ │ │ ├── ps.dat │ │ │ ├── ps_AF.dat │ │ │ ├── pt.dat │ │ │ ├── pt_BR.dat │ │ │ ├── pt_PT.dat │ │ │ ├── ro.dat │ │ │ ├── ro_MD.dat │ │ │ ├── ro_RO.dat │ │ │ ├── root.dat │ │ │ ├── ru.dat │ │ │ ├── ru_RU.dat │ │ │ ├── ru_UA.dat │ │ │ ├── rw.dat │ │ │ ├── rw_RW.dat │ │ │ ├── sa.dat │ │ │ ├── sa_IN.dat │ │ │ ├── se.dat │ │ │ ├── se_FI.dat │ │ │ ├── se_NO.dat │ │ │ ├── sh.dat │ │ │ ├── sh_BA.dat │ │ │ ├── sh_CS.dat │ │ │ ├── sh_YU.dat │ │ │ ├── si.dat │ │ │ ├── si_LK.dat │ │ │ ├── sid.dat │ │ │ ├── sid_ET.dat │ │ │ ├── sk.dat │ │ │ ├── sk_SK.dat │ │ │ ├── sl.dat │ │ │ ├── sl_SI.dat │ │ │ ├── so.dat │ │ │ ├── so_DJ.dat │ │ │ ├── so_ET.dat │ │ │ ├── so_KE.dat │ │ │ ├── so_SO.dat │ │ │ ├── sq.dat │ │ │ ├── sq_AL.dat │ │ │ ├── sr.dat │ │ │ ├── sr_BA.dat │ │ │ ├── sr_CS.dat │ │ │ ├── sr_Cyrl.dat │ │ │ ├── sr_Cyrl_BA.dat │ │ │ ├── sr_Cyrl_CS.dat │ │ │ ├── sr_Cyrl_ME.dat │ │ │ ├── sr_Cyrl_RS.dat │ │ │ ├── sr_Cyrl_YU.dat │ │ │ ├── sr_Latn.dat │ │ │ ├── sr_Latn_BA.dat │ │ │ ├── sr_Latn_CS.dat │ │ │ ├── sr_Latn_ME.dat │ │ │ ├── sr_Latn_RS.dat │ │ │ ├── sr_Latn_YU.dat │ │ │ ├── sr_ME.dat │ │ │ ├── sr_RS.dat │ │ │ ├── sr_YU.dat │ │ │ ├── ss.dat │ │ │ ├── ss_SZ.dat │ │ │ ├── ss_ZA.dat │ │ │ ├── st.dat │ │ │ ├── st_LS.dat │ │ │ ├── st_ZA.dat │ │ │ ├── sv.dat │ │ │ ├── sv_FI.dat │ │ │ ├── sv_SE.dat │ │ │ ├── sw.dat │ │ │ ├── sw_KE.dat │ │ │ ├── sw_TZ.dat │ │ │ ├── syr.dat │ │ │ ├── syr_SY.dat │ │ │ ├── ta.dat │ │ │ ├── ta_IN.dat │ │ │ ├── te.dat │ │ │ ├── te_IN.dat │ │ │ ├── tg.dat │ │ │ ├── tg_Cyrl.dat │ │ │ ├── tg_Cyrl_TJ.dat │ │ │ ├── tg_TJ.dat │ │ │ ├── th.dat │ │ │ ├── th_TH.dat │ │ │ ├── ti.dat │ │ │ ├── ti_ER.dat │ │ │ ├── ti_ET.dat │ │ │ ├── tig.dat │ │ │ ├── tig_ER.dat │ │ │ ├── tl.dat │ │ │ ├── tn.dat │ │ │ ├── tn_ZA.dat │ │ │ ├── to.dat │ │ │ ├── to_TO.dat │ │ │ ├── tr.dat │ │ │ ├── tr_TR.dat │ │ │ ├── trv.dat │ │ │ ├── trv_TW.dat │ │ │ ├── ts.dat │ │ │ ├── ts_ZA.dat │ │ │ ├── tt.dat │ │ │ ├── tt_RU.dat │ │ │ ├── ug.dat │ │ │ ├── ug_Arab.dat │ │ │ ├── ug_Arab_CN.dat │ │ │ ├── ug_CN.dat │ │ │ ├── uk.dat │ │ │ ├── uk_UA.dat │ │ │ ├── ur.dat │ │ │ ├── ur_IN.dat │ │ │ ├── ur_PK.dat │ │ │ ├── uz.dat │ │ │ ├── uz_AF.dat │ │ │ ├── uz_Arab.dat │ │ │ ├── uz_Arab_AF.dat │ │ │ ├── uz_Cyrl.dat │ │ │ ├── uz_Cyrl_UZ.dat │ │ │ ├── uz_Latn.dat │ │ │ ├── uz_Latn_UZ.dat │ │ │ ├── uz_UZ.dat │ │ │ ├── ve.dat │ │ │ ├── ve_ZA.dat │ │ │ ├── vi.dat │ │ │ ├── vi_VN.dat │ │ │ ├── wal.dat │ │ │ ├── wal_ET.dat │ │ │ ├── wo.dat │ │ │ ├── wo_Latn.dat │ │ │ ├── wo_Latn_SN.dat │ │ │ ├── wo_SN.dat │ │ │ ├── xh.dat │ │ │ ├── xh_ZA.dat │ │ │ ├── yo.dat │ │ │ ├── yo_NG.dat │ │ │ ├── zh.dat │ │ │ ├── zh_CN.dat │ │ │ ├── zh_HK.dat │ │ │ ├── zh_Hans.dat │ │ │ ├── zh_Hans_CN.dat │ │ │ ├── zh_Hans_HK.dat │ │ │ ├── zh_Hans_MO.dat │ │ │ ├── zh_Hans_SG.dat │ │ │ ├── zh_Hant.dat │ │ │ ├── zh_Hant_HK.dat │ │ │ ├── zh_Hant_MO.dat │ │ │ ├── zh_Hant_TW.dat │ │ │ ├── zh_MO.dat │ │ │ ├── zh_SG.dat │ │ │ ├── zh_TW.dat │ │ │ ├── zu.dat │ │ │ └── zu_ZA.dat │ │ ├── messages │ │ │ ├── __init__.py │ │ │ ├── catalog.py │ │ │ ├── checkers.py │ │ │ ├── extract.py │ │ │ ├── frontend.py │ │ │ ├── jslexer.py │ │ │ ├── mofile.py │ │ │ ├── plurals.py │ │ │ ├── pofile.py │ │ │ └── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── catalog.py │ │ │ │ ├── checkers.py │ │ │ │ ├── data │ │ │ │ ├── mapping.cfg │ │ │ │ ├── project │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── file1.py │ │ │ │ │ ├── file2.py │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── de │ │ │ │ │ │ │ └── LC_MESSAGES │ │ │ │ │ │ │ │ ├── messages.mo │ │ │ │ │ │ │ │ └── messages.po │ │ │ │ │ │ ├── de_DE │ │ │ │ │ │ │ └── LC_MESSAGES │ │ │ │ │ │ │ │ └── messages.po │ │ │ │ │ │ ├── messages.pot │ │ │ │ │ │ ├── messages_non_fuzzy.pot │ │ │ │ │ │ └── ru_RU │ │ │ │ │ │ │ └── LC_MESSAGES │ │ │ │ │ │ │ └── messages.po │ │ │ │ │ └── ignored │ │ │ │ │ │ ├── a_test_file.txt │ │ │ │ │ │ ├── an_example.txt │ │ │ │ │ │ └── this_wont_normally_be_here.py │ │ │ │ ├── setup.cfg │ │ │ │ └── setup.py │ │ │ │ ├── extract.py │ │ │ │ ├── frontend.py │ │ │ │ ├── mofile.py │ │ │ │ ├── plurals.py │ │ │ │ └── pofile.py │ │ ├── numbers.py │ │ ├── plural.py │ │ ├── support.py │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── core.py │ │ │ ├── dates.py │ │ │ ├── localedata.py │ │ │ ├── numbers.py │ │ │ ├── plural.py │ │ │ ├── support.py │ │ │ └── util.py │ │ └── util.py │ ├── contrib │ │ └── babel.js │ ├── doc │ │ ├── cmdline.txt │ │ ├── common │ │ │ ├── COPYING │ │ │ ├── README.txt │ │ │ ├── conf │ │ │ │ ├── docutils.ini │ │ │ │ └── epydoc.ini │ │ │ ├── doctools.py │ │ │ ├── style │ │ │ │ ├── bkgnd_pattern.png │ │ │ │ ├── docutils.css │ │ │ │ ├── edgewall.css │ │ │ │ ├── epydoc.css │ │ │ │ ├── pygments.css │ │ │ │ ├── shadow.gif │ │ │ │ └── vertbars.png │ │ │ └── template.html │ │ ├── dates.txt │ │ ├── display.txt │ │ ├── index.txt │ │ ├── intro.txt │ │ ├── logo.pdf │ │ ├── logo.png │ │ ├── logo_small.png │ │ ├── messages.txt │ │ ├── numbers.txt │ │ ├── setup.txt │ │ └── support.txt │ ├── scripts │ │ ├── dump_data.py │ │ ├── dump_global.py │ │ └── import_cldr.py │ ├── setup.cfg │ └── setup.py └── gaepytz-2011h │ ├── LICENSE.txt │ ├── MANIFEST.in │ ├── PKG-INFO │ ├── pytz │ ├── __init__.py │ ├── gae.py │ ├── reference.py │ ├── tzfile.py │ ├── tzinfo.py │ └── zoneinfo.zip │ ├── setup.cfg │ └── setup.py ├── requirements.pip ├── run_tests.py ├── run_webapp_tests.py ├── setup.py ├── site ├── app.yaml ├── docs ├── index.yaml └── static │ ├── favicon.ico │ └── robots.txt ├── tests ├── extras_appengine_auth_models_test.py ├── extras_appengine_ndb_unique_model_test.py ├── extras_auth_test.py ├── extras_config_test.py ├── extras_i18n_test.py ├── extras_jinja2_test.py ├── extras_json_test.py ├── extras_local_app_test.py ├── extras_mako_test.py ├── extras_protorpc_test.py ├── extras_routes_test.py ├── extras_securecookie_test.py ├── extras_security_test.py ├── extras_sessions_memcache_test.py ├── extras_sessions_ndb_test.py ├── extras_sessions_test.py ├── extras_users_test.py ├── handler_test.py ├── misc_test.py ├── request_test.py ├── resources │ ├── __init__.py │ ├── handlers.py │ ├── i18n.py │ ├── jinja2_templates │ │ ├── hello.html │ │ ├── template1.html │ │ ├── template2.html │ │ └── template3.html │ ├── jinja2_templates_compiled │ │ └── tmpl_3a79873b1b49be244fd5444b1258ce348be26de8.py │ ├── mako_templates │ │ └── template1.html │ ├── protorpc_services.py │ └── template.py ├── response_test.py ├── routing_test.py ├── test_base.py └── webapp1_test.py ├── webapp2.py └── webapp2_extras ├── __init__.py ├── appengine ├── __init__.py ├── auth │ ├── __init__.py │ └── models.py ├── ndb │ ├── __init__.py │ └── unique_model.py ├── sessions_memcache.py ├── sessions_ndb.py └── users.py ├── auth.py ├── config.py ├── i18n.py ├── jinja2.py ├── json.py ├── local.py ├── local_app.py ├── mako.py ├── protorpc.py ├── routes.py ├── securecookie.py ├── security.py ├── sessions.py ├── sessions_memcache.py ├── sessions_ndb.py └── users.py /.coveragerc: -------------------------------------------------------------------------------- 1 | # .coveragerc to control coverage.py 2 | [run] 3 | branch = False 4 | 5 | source = 6 | webapp2 7 | webapp2_extras 8 | 9 | omit = 10 | /*/webapp2_extras/local.py 11 | 12 | [report] 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[co] 2 | 3 | # When this repository is included as a 4 | # submodule within a buildout project, 5 | # buildout will dump a .egg-info directory 6 | # into this directory causing the submodule 7 | # to become "dirty", and this shows up 8 | # as a change to track in the parent repository. 9 | # Therefore, we ignore *.egg-info at the 10 | # repository level. 11 | *.egg-info 12 | 13 | -------------------------------------------------------------------------------- /.hgignore: -------------------------------------------------------------------------------- 1 | \.py[co]$ 2 | \.DS_Store$ 3 | \.coverage 4 | \.egg-info 5 | dist/ 6 | temp/ 7 | docs/_build/ 8 | \.egg-info$ 9 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include AUTHORS 2 | include CHANGES 3 | include LICENSE 4 | include README 5 | include TODO 6 | include Makefile 7 | include run_tests.py 8 | recursive-include docs * 9 | recursive-exclude docs *.pyc 10 | recursive-exclude docs/_build * 11 | recursive-include tests * 12 | recursive-exclude tests *.pyc 13 | recursive-exclude webapp2_extras *.pyc 14 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | coverage run run_tests.py 3 | coverage report -m 4 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | webapp2 2 | ======= 3 | webapp2 is a lightweight Python web framework compatible with Google App 4 | Engine's webapp. 5 | 6 | - Project page: http://code.google.com/p/webapp-improved/ 7 | - User guide: http://webapp-improved.appspot.com/ 8 | -------------------------------------------------------------------------------- /docs/_static/README: -------------------------------------------------------------------------------- 1 | This is the directory used for custom static files. 2 | -------------------------------------------------------------------------------- /docs/_static/webapp2_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/docs/_static/webapp2_blue.png -------------------------------------------------------------------------------- /docs/_static/webapp2_blue_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/docs/_static/webapp2_blue_small.png -------------------------------------------------------------------------------- /docs/_static/webapp2_blue_tiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/docs/_static/webapp2_blue_tiny.png -------------------------------------------------------------------------------- /docs/_templates/README: -------------------------------------------------------------------------------- 1 | This is the directory used for custom templates. 2 | -------------------------------------------------------------------------------- /docs/_themes/webapp2/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = webapp2.css 4 | pygments_style = pygapp2 5 | 6 | [options] 7 | nosidebar = false 8 | sidebarwidth = 200 9 | logo_width = 10 | logo_height = 11 | analytics_code = 12 | -------------------------------------------------------------------------------- /docs/api/extras.config.rst: -------------------------------------------------------------------------------- 1 | Configuration 2 | ============= 3 | This page moved to :ref:`api.webapp2_extras.config`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.i18n.rst: -------------------------------------------------------------------------------- 1 | i18n 2 | ==== 3 | This page moved to :ref:`api.webapp2_extras.i18n`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.jinja2.rst: -------------------------------------------------------------------------------- 1 | Jinja2 2 | ====== 3 | This page moved to :ref:`api.webapp2_extras.jinja2`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.json.rst: -------------------------------------------------------------------------------- 1 | JSON 2 | ==== 3 | This page moved to :ref:`api.webapp2_extras.json`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.local.rst: -------------------------------------------------------------------------------- 1 | Local 2 | ===== 3 | This page moved to :ref:`api.webapp2_extras.local`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.local_app.rst: -------------------------------------------------------------------------------- 1 | Local App 2 | ========= 3 | This page moved to :ref:`api.webapp2_extras.local_app`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.mako.rst: -------------------------------------------------------------------------------- 1 | Mako 2 | ==== 3 | This page moved to :ref:`api.webapp2_extras.mako`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.protorpc.rst: -------------------------------------------------------------------------------- 1 | ProtoRPC 2 | ======== 3 | This page moved to :ref:`api.webapp2_extras.protorpc`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.routes.rst: -------------------------------------------------------------------------------- 1 | Extra routes 2 | ============ 3 | This page moved to :ref:`api.webapp2_extras.routes`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.securecookie.rst: -------------------------------------------------------------------------------- 1 | Secure cookies 2 | ============== 3 | This page moved to :ref:`api.webapp2_extras.securecookie`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.security.rst: -------------------------------------------------------------------------------- 1 | Security 2 | ======== 3 | This page moved to :ref:`api.webapp2_extras.security`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.sessions.rst: -------------------------------------------------------------------------------- 1 | Sessions 2 | ======== 3 | This page moved to :ref:`api.webapp2_extras.sessions`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.sessions_memcache.rst: -------------------------------------------------------------------------------- 1 | Memcache sessions 2 | ================= 3 | This page moved to :ref:`api.webapp2_extras.appengine.sessions_memcache`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.sessions_ndb.rst: -------------------------------------------------------------------------------- 1 | Datastore sessions 2 | ================== 3 | This page moved to :ref:`api.webapp2_extras.appengine.sessions_ndb`. 4 | -------------------------------------------------------------------------------- /docs/api/extras.users.rst: -------------------------------------------------------------------------------- 1 | Users 2 | ===== 3 | This page moved to :ref:`api.webapp2_extras.appengine.users`. 4 | -------------------------------------------------------------------------------- /docs/api/index.rst: -------------------------------------------------------------------------------- 1 | .. _api.index: 2 | 3 | API 4 | === 5 | .. toctree:: 6 | :glob: 7 | :maxdepth: 3 8 | 9 | webapp2 10 | webapp2_extras** 11 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/appengine/auth/models.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.appengine.auth.models: 2 | 3 | Auth Models 4 | =========== 5 | .. module:: webapp2_extras.appengine.auth.models 6 | 7 | .. warning:: 8 | This is an experimental module. The API is subject to changes. 9 | 10 | .. autoclass:: User 11 | 12 | .. autoclass:: UserToken 13 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/appengine/ndb/unique_model.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.appengine.ndb.unique_model: 2 | 3 | Unique Model 4 | ============ 5 | .. module:: webapp2_extras.appengine.ndb.unique_model 6 | 7 | .. warning:: 8 | This is an experimental module. The API is subject to changes. 9 | 10 | .. autoclass:: Unique 11 | :members: create, create_multi, delete_multi 12 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/appengine/sessions_memcache.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.appengine.sessions_memcache: 2 | 3 | Memcache sessions 4 | ================= 5 | .. module:: webapp2_extras.appengine.sessions_memcache 6 | 7 | .. autoclass:: MemcacheSessionFactory 8 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/appengine/sessions_ndb.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.appengine.sessions_ndb: 2 | 3 | Datastore sessions 4 | ================== 5 | .. module:: webapp2_extras.appengine.sessions_ndb 6 | 7 | .. autoclass:: DatastoreSessionFactory 8 | :members: session_model 9 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/appengine/users.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.appengine.users: 2 | 3 | Users 4 | ===== 5 | .. module:: webapp2_extras.appengine.users 6 | 7 | .. autofunction:: login_required 8 | 9 | .. autofunction:: admin_required 10 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/auth.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.auth: 2 | 3 | Auth 4 | ==== 5 | .. module:: webapp2_extras.auth 6 | 7 | .. warning:: 8 | This is an experimental module. The API is subject to changes. 9 | 10 | .. autodata:: default_config 11 | 12 | .. autoclass:: AuthStore 13 | :members: __init__ 14 | 15 | .. autoclass:: Auth 16 | :members: __init__, 17 | get_user_by_session, get_user_by_token, get_user_by_password, 18 | set_session, unset_session 19 | 20 | .. autofunction:: get_store 21 | .. autofunction:: set_store 22 | .. autofunction:: get_auth 23 | .. autofunction:: set_auth 24 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/config.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.config: 2 | 3 | Configuration 4 | ============= 5 | This module is deprecated. :class:`webapp2.WSGIApplication` now has a simple 6 | configuration dictionary used by default, stored in 7 | :class:`webapp2.WSGIApplication.config`. See also :class:`webapp2.Config`. 8 | 9 | .. module:: webapp2_extras.config 10 | 11 | .. autodata:: DEFAULT_VALUE 12 | 13 | .. autodata:: REQUIRED_VALUE 14 | 15 | .. autoclass:: Config 16 | :members: __init__, __getitem__, __setitem__, get, setdefault, update, 17 | get_config 18 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/local.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.local: 2 | 3 | Local 4 | ===== 5 | .. module:: webapp2_extras.local 6 | 7 | This module implements thread-local utilities. 8 | 9 | .. autoclass:: Local 10 | .. autoclass:: LocalProxy 11 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/local_app.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.local_app: 2 | 3 | Local App 4 | ========= 5 | .. module:: webapp2_extras.local_app 6 | 7 | .. warning:: 8 | This module is deprecated. The :class:`webapp2.WSGIApplication` class is now 9 | thread-safe by default when :mod:`webapp2_extras.local` is available. 10 | 11 | .. autoclass:: WSGIApplication 12 | :members: set_globals 13 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/mako.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.mako: 2 | 3 | Mako 4 | ==== 5 | .. module:: webapp2_extras.mako 6 | 7 | This module provides Mako template support for webapp2. 8 | 9 | To use it, you must add the ``mako`` package to your application 10 | directory (for App Engine) or install it in your virtual environment 11 | (for other servers). 12 | 13 | You can download ``mako`` from PyPi: 14 | 15 | http://pypi.python.org/pypi/Mako 16 | 17 | Learn more about Mako: 18 | 19 | http://www.makotemplates.org/ 20 | 21 | .. autodata:: default_config 22 | 23 | .. autoclass:: Mako 24 | :members: __init__, render_template 25 | 26 | .. autofunction:: get_mako 27 | .. autofunction:: set_mako 28 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/routes.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.routes: 2 | 3 | Extra routes 4 | ============ 5 | .. module:: webapp2_extras.routes 6 | 7 | This module provides several extra route classes for convenience: 8 | domain and subdomain routing, prefixed routes or routes for automatic 9 | redirection. 10 | 11 | .. autoclass:: DomainRoute 12 | :members: __init__ 13 | 14 | .. autoclass:: RedirectRoute 15 | :members: __init__ 16 | 17 | .. autoclass:: PathPrefixRoute 18 | :members: __init__ 19 | 20 | .. autoclass:: NamePrefixRoute 21 | :members: __init__ 22 | 23 | .. autoclass:: HandlerPrefixRoute 24 | :members: __init__ 25 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/securecookie.rst: -------------------------------------------------------------------------------- 1 | .. _api.webapp2_extras.securecookie: 2 | 3 | Secure cookies 4 | ============== 5 | .. module:: webapp2_extras.securecookie 6 | 7 | This module provides a serializer and deserializer for signed cookies. 8 | 9 | .. autoclass:: SecureCookieSerializer 10 | :members: __init__, serialize, deserialize 11 | 12 | .. _Tornado: http://www.tornadoweb.org/ 13 | -------------------------------------------------------------------------------- /docs/api/webapp2_extras/security.rst: -------------------------------------------------------------------------------- 1 | .. _Werkzeug: http://werkzeug.pocoo.org/ 2 | 3 | .. _api.webapp2_extras.security: 4 | 5 | Security 6 | ======== 7 | .. module:: webapp2_extras.security 8 | 9 | This module provides security related helpers such as secure password hashing 10 | tools and a random string generator. 11 | 12 | .. autofunction:: generate_random_string 13 | .. autofunction:: generate_password_hash 14 | .. autofunction:: check_password_hash 15 | .. autofunction:: hash_password 16 | .. autofunction:: compare_hashes 17 | -------------------------------------------------------------------------------- /docs/guide/index.rst: -------------------------------------------------------------------------------- 1 | .. _guide.index: 2 | 3 | webapp2's Guide to the Gaelaxy 4 | ============================== 5 | .. toctree:: 6 | :glob: 7 | :maxdepth: 3 8 | 9 | ** 10 | -------------------------------------------------------------------------------- /docs/tutorials/index.rst: -------------------------------------------------------------------------------- 1 | .. _tutorials.index: 2 | 3 | Tutorials 4 | ========= 5 | .. toctree:: 6 | :glob: 7 | :maxdepth: 1 8 | 9 | gettingstarted/index 10 | * 11 | -------------------------------------------------------------------------------- /docs/tutorials/marketplace.single.signon.rst: -------------------------------------------------------------------------------- 1 | .. _tutorials.marketplace.single.signon: 2 | 3 | (work in progress) 4 | 5 | Single sign on with webapp2 and the Google Apps Marketplace 6 | =========================================================== 7 | -------------------------------------------------------------------------------- /example/app.yaml: -------------------------------------------------------------------------------- 1 | application: webapp2 2 | version: webapp2 3 | runtime: python 4 | api_version: 1 5 | 6 | derived_file_type: 7 | - python_precompiled 8 | 9 | handlers: 10 | - url: /(robots\.txt|favicon\.ico) 11 | static_files: static/\1 12 | upload: static/.* 13 | 14 | - url: /test.* 15 | script: test.py 16 | 17 | - url: /.* 18 | script: main.py 19 | -------------------------------------------------------------------------------- /example/handlers.py: -------------------------------------------------------------------------------- 1 | import webapp2 2 | 3 | 4 | class LazyHandler(webapp2.RequestHandler): 5 | def get(self, **kwargs): 6 | self.response.out.write('I am a laaazy view.') 7 | -------------------------------------------------------------------------------- /example/index.yaml: -------------------------------------------------------------------------------- 1 | indexes: 2 | 3 | # AUTOGENERATED 4 | 5 | # This index.yaml is automatically updated whenever the dev_appserver 6 | # detects that a new type of query is run. If you want to manage the 7 | # index.yaml file manually, remove the above marker line (the line 8 | # saying "# AUTOGENERATED"). If you want to manage some indexes 9 | # manually, move them above the marker line. The index.yaml file is 10 | # automatically uploaded to the admin console when you next deploy 11 | # your application using appcfg.py. 12 | -------------------------------------------------------------------------------- /example/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/example/static/favicon.ico -------------------------------------------------------------------------------- /example/static/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /paste/view/ 3 | Disallow: /paste/view-raw/ 4 | -------------------------------------------------------------------------------- /example/webapp2.py: -------------------------------------------------------------------------------- 1 | ../webapp2.py -------------------------------------------------------------------------------- /lib/Jinja2-2.6/AUTHORS: -------------------------------------------------------------------------------- 1 | Jinja is written and maintained by the Jinja Team and various 2 | contributors: 3 | 4 | Lead Developer: 5 | 6 | - Armin Ronacher 7 | 8 | Developers: 9 | 10 | - Christoph Hack 11 | - Georg Brandl 12 | 13 | Contributors: 14 | 15 | - Bryan McLemore 16 | - Mickaël Guérin 17 | - Cameron Knight 18 | - Lawrence Journal-World. 19 | - David Cramer 20 | 21 | Patches and suggestions: 22 | 23 | - Ronny Pfannschmidt 24 | - Axel Böhm 25 | - Alexey Melchakov 26 | - Bryan McLemore 27 | - Clovis Fabricio (nosklo) 28 | - Cameron Knight 29 | - Peter van Dijk (Habbie) 30 | - Stefan Ebner 31 | - Rene Leonhardt 32 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include MANIFEST.in Makefile CHANGES LICENSE AUTHORS jinja2/_debugsupport.c 2 | recursive-include docs * 3 | recursive-include custom_fixers * 4 | recursive-include ext * 5 | recursive-include artwork * 6 | recursive-include examples * 7 | recursive-include jinja2/testsuite/res * 8 | recursive-exclude docs/_build * 9 | recursive-exclude jinja2 *.pyc 10 | recursive-exclude docs *.pyc 11 | recursive-exclude jinja2 *.pyo 12 | recursive-exclude docs *.pyo 13 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | python setup.py test 3 | 4 | release: 5 | python scripts/make-release.py 6 | 7 | upload-docs: 8 | $(MAKE) -C docs html dirhtml latex 9 | $(MAKE) -C docs/_build/latex all-pdf 10 | cd docs/_build/; mv html jinja-docs; zip -r jinja-docs.zip jinja-docs; mv jinja-docs html 11 | scp -r docs/_build/dirhtml/* pocoo.org:/var/www/jinja.pocoo.org/docs/ 12 | scp -r docs/_build/latex/Jinja2.pdf pocoo.org:/var/www/jinja.pocoo.org/docs/jinja-docs.pdf 13 | scp -r docs/_build/jinja-docs.zip pocoo.org:/var/www/jinja.pocoo.org/docs/ 14 | 15 | .PHONY: test 16 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/custom_fixers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Jinja2-2.6/custom_fixers/__init__.py -------------------------------------------------------------------------------- /lib/Jinja2-2.6/custom_fixers/fix_alt_unicode.py: -------------------------------------------------------------------------------- 1 | from lib2to3 import fixer_base 2 | from lib2to3.fixer_util import Name, BlankLine 3 | 4 | 5 | class FixAltUnicode(fixer_base.BaseFix): 6 | PATTERN = """ 7 | func=funcdef< 'def' name='__unicode__' 8 | parameters< '(' NAME ')' > any+ > 9 | """ 10 | 11 | def transform(self, node, results): 12 | name = results['name'] 13 | name.replace(Name('__str__', prefix=name.prefix)) 14 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/custom_fixers/fix_xrange2.py: -------------------------------------------------------------------------------- 1 | from lib2to3 import fixer_base 2 | from lib2to3.fixer_util import Name, BlankLine 3 | 4 | 5 | # whyever this is necessary.. 6 | 7 | class FixXrange2(fixer_base.BaseFix): 8 | PATTERN = "'xrange'" 9 | 10 | def transform(self, node, results): 11 | node.replace(Name('range', prefix=node.prefix)) 12 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/_static/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Jinja2-2.6/docs/_static/.ignore -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/_static/jinja-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Jinja2-2.6/docs/_static/jinja-small.png -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/_templates/sidebarlogo.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/_themes/jinja/layout.html: -------------------------------------------------------------------------------- 1 | {%- extends "basic/layout.html" %} 2 | {%- block relbar2 %}{% endblock %} 3 | {%- block footer %} 4 | 8 | {%- endblock %} 9 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/_themes/jinja/relations.html: -------------------------------------------------------------------------------- 1 |

Related Topics

2 | 20 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/_themes/jinja/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = jinja.css 4 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/changelog.rst: -------------------------------------------------------------------------------- 1 | .. module:: jinja2 2 | 3 | .. include:: ../CHANGES 4 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/contents.rst.inc: -------------------------------------------------------------------------------- 1 | Jinja2 Documentation 2 | -------------------- 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | 7 | intro 8 | api 9 | sandbox 10 | templates 11 | extensions 12 | integration 13 | switching 14 | tricks 15 | 16 | Additional Information 17 | ---------------------- 18 | 19 | .. toctree:: 20 | :maxdepth: 2 21 | 22 | faq 23 | changelog 24 | 25 | If you can't find the information you're looking for, have a look at the 26 | index of try to find it using the search function: 27 | 28 | * :ref:`genindex` 29 | * :ref:`search` 30 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/latexindex.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | Jinja2 Documentation 4 | ==================== 5 | 6 | .. include:: contents.rst.inc 7 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/docs/logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Jinja2-2.6/docs/logo.pdf -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/cycle.py: -------------------------------------------------------------------------------- 1 | from jinja2 import Environment 2 | 3 | 4 | env = Environment(line_statement_prefix="#", variable_start_string="${", variable_end_string="}") 5 | 6 | 7 | print env.from_string("""\ 8 | \ 13 | """).render() 14 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/debugger.py: -------------------------------------------------------------------------------- 1 | from jinja2 import Environment 2 | from jinja2.loaders import FileSystemLoader 3 | 4 | env = Environment(loader=FileSystemLoader('templates')) 5 | 6 | tmpl = env.get_template('broken.html') 7 | print tmpl.render(seq=[3, 2, 4, 5, 3, 2, 0, 2, 1]) 8 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/inheritance.py: -------------------------------------------------------------------------------- 1 | from jinja2 import Environment 2 | from jinja2.loaders import DictLoader 3 | 4 | 5 | env = Environment(loader=DictLoader({ 6 | 'a': '''[A[{% block body %}{% endblock %}]]''', 7 | 'b': '''{% extends 'a' %}{% block body %}[B]{% endblock %}''', 8 | 'c': '''{% extends 'b' %}{% block body %}###{{ super() }}###{% endblock %}''' 9 | })) 10 | 11 | 12 | print env.get_template('c').render() 13 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/templates/broken.html: -------------------------------------------------------------------------------- 1 | {% from 'subbroken.html' import may_break %} 2 | 7 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/templates/subbroken.html: -------------------------------------------------------------------------------- 1 | {% macro may_break(item) -%} 2 | [{{ item / 0 }}] 3 | {%- endmacro %} 4 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/test2.py: -------------------------------------------------------------------------------- 1 | from __pypy__ import tproxy 2 | 3 | 4 | def make_proxy(obj, proxy): 5 | if tproxy is None: 6 | return proxy 7 | def operation_handler(operation, *args, **kwargs): 8 | if operation in ('__getattribute__', '__getattr__'): 9 | return getattr(proxy, args[0]) 10 | elif operation == '__setattr__': 11 | proxy.__setattr__(*args, **kwargs) 12 | else: 13 | return getattr(proxy, operation)(*args, **kwargs) 14 | return tproxy(type(obj), operation_handler) 15 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/test_filter_and_linestatements.py: -------------------------------------------------------------------------------- 1 | from jinja2 import Environment 2 | 3 | 4 | env = Environment(line_statement_prefix='%', variable_start_string="${", variable_end_string="}") 5 | tmpl = env.from_string("""\ 6 | % macro foo() 7 | ${caller(42)} 8 | % endmacro 9 | 14 | % call(var) foo() 15 | [${var}] 16 | % endcall 17 | % filter escape 18 | 19 | % for item in [1, 2, 3] 20 | - ${item} 21 | % endfor 22 | % endfilter 23 | """) 24 | 25 | print tmpl.render(seq=range(10)) 26 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/test_loop_filter.py: -------------------------------------------------------------------------------- 1 | from jinja2 import Environment 2 | 3 | tmpl = Environment().from_string("""\ 4 |
    5 | {%- for item in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] if item % 2 == 0 %} 6 |
  • {{ loop.index }} / {{ loop.length }}: {{ item }}
  • 7 | {%- endfor %} 8 |
9 | if condition: {{ 1 if foo else 0 }} 10 | """) 11 | 12 | print tmpl.render(foo=True) 13 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/basic/translate.py: -------------------------------------------------------------------------------- 1 | from jinja2 import Environment 2 | 3 | env = Environment(extensions=['jinja2.ext.i18n']) 4 | env.globals['gettext'] = { 5 | 'Hello %(user)s!': 'Hallo %(user)s!' 6 | }.__getitem__ 7 | env.globals['ngettext'] = lambda s, p, n: { 8 | '%(count)s user': '%(count)d Benutzer', 9 | '%(count)s users': '%(count)d Benutzer' 10 | }[n == 1 and s or p] 11 | print env.from_string("""\ 12 | {% trans %}Hello {{ user }}!{% endtrans %} 13 | {% trans count=users|count %}{{ count }} user{% pluralize %}{{ count }} users{% endtrans %} 14 | """).render(user="someone", users=[1, 2, 3]) 15 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/rwbench/django/_form.html: -------------------------------------------------------------------------------- 1 |
{{ body }}
2 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/rwbench/django/_input_field.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/rwbench/django/_textarea.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/rwbench/genshi/helpers.html: -------------------------------------------------------------------------------- 1 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/rwbench/jinja/helpers.html: -------------------------------------------------------------------------------- 1 | {% macro input_field(name, value='', type='text') -%} 2 | 3 | {%- endmacro %} 4 | 5 | {% macro textarea(name, value='', rows=10, cols=40) -%} 6 | 8 | {%- endmacro %} 9 | 10 | {% macro form(action='', method='post') -%} 11 |
{{ caller() }}
12 | {%- endmacro %} 13 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/examples/rwbench/mako/helpers.html: -------------------------------------------------------------------------------- 1 | <%def name="input_field(name='', value='', type='text')"> 2 | 3 | 4 | 5 | <%def name="textarea(name, value='', rows=10, cols=40)"> 6 | 7 | 8 | 9 | <%def name="form(action='', method='post')"> 10 |
${caller.body()}
11 | 12 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/ext/JinjaTemplates.tmbundle.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Jinja2-2.6/ext/JinjaTemplates.tmbundle.tar.gz -------------------------------------------------------------------------------- /lib/Jinja2-2.6/ext/django2jinja/example.py: -------------------------------------------------------------------------------- 1 | from django.conf import settings 2 | settings.configure(TEMPLATE_DIRS=['templates'], TEMPLATE_DEBUG=True) 3 | 4 | from django2jinja import convert_templates, Writer 5 | 6 | writer = Writer(use_jinja_autoescape=True) 7 | convert_templates('converted', writer=writer) 8 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/ext/django2jinja/templates/layout.html: -------------------------------------------------------------------------------- 1 | {% block title %}{% endblock %} 2 |
3 | {% block page-body %}{% endblock %} 4 |
5 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/ext/django2jinja/templates/subtemplate.html: -------------------------------------------------------------------------------- 1 | Hello World! 2 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/jinja2/testsuite/res/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Jinja2-2.6/jinja2/testsuite/res/__init__.py -------------------------------------------------------------------------------- /lib/Jinja2-2.6/jinja2/testsuite/res/templates/broken.html: -------------------------------------------------------------------------------- 1 | Before 2 | {{ fail() }} 3 | After 4 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/jinja2/testsuite/res/templates/foo/test.html: -------------------------------------------------------------------------------- 1 | FOO 2 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/jinja2/testsuite/res/templates/syntaxerror.html: -------------------------------------------------------------------------------- 1 | Foo 2 | {% for item in broken %} 3 | ... 4 | {% endif %} 5 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/jinja2/testsuite/res/templates/test.html: -------------------------------------------------------------------------------- 1 | BAR 2 | -------------------------------------------------------------------------------- /lib/Jinja2-2.6/setup.cfg: -------------------------------------------------------------------------------- 1 | [egg_info] 2 | tag_build = 3 | tag_date = 0 4 | tag_svn_revision = 0 5 | 6 | [aliases] 7 | release = egg_info -RDb '' 8 | 9 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/MANIFEST.in: -------------------------------------------------------------------------------- 1 | # any kind of "*" pulls in __init__.pyc files, 2 | # so all extensions are explicit. 3 | 4 | recursive-include doc *.html *.css *.txt *.js *.png *.py Makefile *.rst *.mako 5 | recursive-include examples *.py *.xml *.mako *.myt *.kid *.tmpl 6 | recursive-include test *.py *.html *.mako 7 | 8 | include README* LICENSE distribute_setup.py ez_setup.py CHANGES* 9 | 10 | prune doc/build/output 11 | 12 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/README: -------------------------------------------------------------------------------- 1 | Mako is licensed under an MIT-style license (see LICENSE). 2 | Other incorporated projects may be licensed under different licenses. 3 | All licenses allow for non-commercial and commercial use. 4 | 5 | To install: 6 | 7 | python setup.py install 8 | 9 | SVN checkouts also inlcude setup.cfg file allowing setuptools to create 10 | an svn-tagged build. 11 | 12 | Documentation is available in HTML format in the ./doc/ directory. 13 | 14 | Unit tests run via nose, and are available via setup.py: 15 | 16 | python setup.py test 17 | 18 | Or direct nose usage: 19 | 20 | nosetests -v 21 | 22 | For Python 3 information, see README.py3k. 23 | 24 | good luck ! 25 | 26 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/_sources/index.txt: -------------------------------------------------------------------------------- 1 | Table of Contents 2 | ================= 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | 7 | usage 8 | syntax 9 | defs 10 | runtime 11 | namespaces 12 | inheritance 13 | filtering 14 | unicode 15 | caching 16 | 17 | Indices and tables 18 | ------------------ 19 | 20 | * :ref:`genindex` 21 | * :ref:`search` 22 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Mako-0.4.1/doc/_static/file.png -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Mako-0.4.1/doc/_static/minus.png -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Mako-0.4.1/doc/_static/plus.png -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/build/builder/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Mako-0.4.1/doc/build/builder/__init__.py -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/build/builder/util.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | def striptags(text): 4 | return re.compile(r'<[^>]*>').sub('', text) 5 | 6 | def go(m): 7 | # .html with no anchor if present, otherwise "#" for top of page 8 | return m.group(1) or '#' 9 | 10 | def strip_toplevel_anchors(text): 11 | return re.compile(r'(\.html)?#[-\w]+-toplevel').sub(go, text) 12 | 13 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/build/index.rst: -------------------------------------------------------------------------------- 1 | Table of Contents 2 | ================= 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | 7 | usage 8 | syntax 9 | defs 10 | runtime 11 | namespaces 12 | inheritance 13 | filtering 14 | unicode 15 | caching 16 | 17 | Indices and tables 18 | ------------------ 19 | 20 | * :ref:`genindex` 21 | * :ref:`search` 22 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/build/templates/page.mako: -------------------------------------------------------------------------------- 1 | <%inherit file="layout.mako"/> 2 | ${body| util.strip_toplevel_anchors} -------------------------------------------------------------------------------- /lib/Mako-0.4.1/doc/build/templates/static_base.mako: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | ${metatags and metatags or ''} 8 | ${self.show_title()} — ${docstitle|h} 9 | <%block name="headers"/> 10 | 11 | 12 | ${next.body()} 13 | 14 | 15 | 16 | 17 | <%! 18 | local_script_files = [] 19 | %> 20 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/examples/bench/cheetah/footer.tmpl: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/examples/bench/cheetah/header.tmpl: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/examples/bench/django/templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moraes/webapp-improved/0e6218dcd3ba2e0ba0c6a6c87ba4fbe1eab287c4/lib/Mako-0.4.1/examples/bench/django/templatetags/__init__.py -------------------------------------------------------------------------------- /lib/Mako-0.4.1/examples/bench/django/templatetags/bench.py: -------------------------------------------------------------------------------- 1 | from django.template import Library, Node, resolve_variable 2 | from django.utils.html import escape 3 | 4 | register = Library() 5 | 6 | def greeting(name): 7 | return 'Hello, %s!' % escape(name) 8 | greeting = register.simple_tag(greeting) 9 | -------------------------------------------------------------------------------- /lib/Mako-0.4.1/examples/bench/kid/base.kid: -------------------------------------------------------------------------------- 1 | 3 | 4 |

5 | Hello, ${name}! 6 |

7 | 8 | 9 | 12 | ${item} 13 |