Ejemplo n.º 1
0
    def _add_jinja2env_globals(self, env):
        """Helper to provide additional Globals to Jinja2 Environment.

        This should be considered one time initialisation.

        Example::
            env.globals['bottommenuurl'] = '/admin/'
            env.globals['bottommenuaddon'] = '<i class="fa fa-area-chart"></i> Admin'
            env.globals['profiler_includes'] = gae_mini_profiler.templatetags.profiler_includes

        """
        if not gaetkconfig.APP_NAME:
            gaetkconfig.APP_NAME = get_application_id().capitalize()
        env.globals.update(
            dict(
                gaetk_production=is_production(),
                gaetk_development=is_development(),
                gaetk_release=get_release(),
                gaetk_app_name=gaetkconfig.APP_NAME,
                gaetk_sentry_dsn=gaetkconfig.SENTRY_PUBLIC_DSN,
                gaetk_gae_version=os.environ.get('CURRENT_VERSION_ID', 'dev'),
            ))
        return env
Ejemplo n.º 2
0
 def get(self):
     """Import all Modules."""
     for fname in [
             'app-uploaded.yaml', 'lib/appengine-toolkit2/include.yaml'
     ]:
         appyaml = yaml.safe_load(open(fname))
         for handler in appyaml['handlers']:
             if 'script' not in handler:
                 continue
             mod = handler['script'].split('.')
             mod = '.'.join(mod[:-1])
             url = handler.get('url')
             if mod not in ('gaetk2.views.load_into_bigquery', ):
                 LOGGER.info('importing %s from %s', mod, url)
                 __import__(mod)
     self.return_text(
         json.dumps({
             'get_release': get_release(),
             'get_revision': get_revision(),
             'get_version': get_version(),
             'is_development': is_development(),
             'is_production': is_production(),
         }))
Ejemplo n.º 3
0
    def add_jinja2env_globals(self, env):
        """Set variables to be used in the supplied bootstrap templates."""
        sup = super(Gaetk1Mixin, self)
        if hasattr(sup, 'add_jinja2env_globals'):
            sup.add_jinja2env_globals(env)

        env.globals['ist_produktion'] = is_production(
        )  # TODO: use `gaetk_production`
        env.globals['beta_banner'] = ''
        env.globals['release'] = get_release()
        # if not is_production():
        #     # from https://codepen.io/eode9/pen/twkKm
        #     env.globals['beta_banner'] = (
        #         '<style>.corner-ribbon{z-index: 1001; width: 200px; background: #e43; position: absolute;'
        #         'top: 25px; left: -50px; text-align: center; line-height: 50px;'
        #         'letter-spacing: 1px; color: #f0f0f0; transform: rotate(-45deg);'
        #         '-webkit-transform: rotate(-45deg); }\n'
        #         '.corner-ribbon.sticky{ position: fixed; }\n'
        #         '.corner-ribbon.shadow{ box-shadow: 0 0 3px rgba(0,0,0,.3); }\n'
        #         '.corner-ribbon.bottom-right{ top: auto; right: -50px; bottom: 25px;'
        #         'left: auto; transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}\n'
        #         '.corner-ribbon.red{background: #e43;}\n'
        #         '</style><div class="corner-ribbon bottom-right sticky red shadow">Development</div>')
        return env
Ejemplo n.º 4
0
 def get(self):
     """Returns the current release."""
     self.return_text(get_release())
Ejemplo n.º 5
0
    def http_context(*args, **kwargs):
        return


if gaetkconfig.SENTRY_DSN and os.environ.get(
        'SERVER_SOFTWARE', '').startswith('Google App Engine'):
    import raven
    import raven.breadcrumbs
    from raven.transport.http import HTTPTransport

    if True:
        # see https://docs.sentry.io/clients/python/advanced/
        sentry_client = raven.Client(
            gaetkconfig.SENTRY_DSN,
            release=get_release(),
            transport=HTTPTransport,
            tags={
                'MODULE_ID': os.environ.get('CURRENT_MODULE_ID'),
                'VERSION_ID': os.environ.get('CURRENT_VERSION_ID'),
                'APPLICATION_ID': os.environ.get('APPLICATION_ID'),
                'GAE_RUNTIME': os.environ.get('GAE_RUNTIME'),
                'GAE_ENV': os.environ.get('GAE_ENV'),
            },
            # This results in crashes
            # repos={
            #     'huExpress': {
            #         # the name of the repository as registered in Sentry
            #         'name': 'hudora/huExpress',
            #         'commit': get_revision()
            #     }