old_contents: # -*- coding: utf-8 -*-
  """The app module, containing the app factory function."""
  from flask import Flask, render_template
  
  from colorsearchtest.settings import ProdConfig
  from colorsearchtest.assets import assets
  from colorsearchtest.extensions import (
      cache,
      db,
      migrate,
      debug_toolbar,
  )
  from colorsearchtest import public
  
  
  def create_app(config_object=ProdConfig):
      """An application factory, as explained here:
          http://flask.pocoo.org/docs/patterns/appfactories/
  
      :param config_object: The configuration object to use.
      """
      app = Flask(__name__)
      app.config.from_object(config_object)
      register_extensions(app)
      register_blueprints(app)
      register_errorhandlers(app)
      return app
  
  
  def register_extensions(app):
      assets.init_app(app)
      cache.init_app(app)
      db.init_app(app)
      debug_toolbar.init_app(app)
      migrate.init_app(app, db)
      return None
  
  
  def register_blueprints(app):
      app.register_blueprint(public.views.blueprint)
      return None
  
  
  def register_errorhandlers(app):
      def render_error(error):
          # If a HTTPException, pull the `code` attribute; default to 500
          error_code = getattr(error, 'code', 500)
          return render_template("{0}.html".format(error_code)), error_code
      for errcode in [401, 404, 500]:
          app.errorhandler(errcode)(render_error)
      return None
  
  
  def register_logger(app):
      if not app.debug and os.environ.get('HEROKU') is None:
          import logging
          from logging.handlers import RotatingFileHandler
          file_handler = RotatingFileHandler('log/colorsearchtest.log', 'a', 1 * 1024 * 1024, 10)
          file_handler.setLevel(logging.INFO)
          file_handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'))
          app.logger.addHandler(file_handler)
          app.logger.setLevel(logging.INFO)
          app.logger.info('colorsearchtest startup')
  
      if os.environ.get('HEROKU') is not None:
          import logging
          stream_handler = logging.StreamHandler()
          app.logger.addHandler(stream_handler)
          app.logger.setLevel(logging.INFO)
          app.logger.info('colorsearchtest startup')
  
new_contents: # -*- coding: utf-8 -*-
  """The app module, containing the app factory function."""
  from flask import Flask, render_template
  
  from colorsearchtest.settings import ProdConfig
  from colorsearchtest.assets import assets
  from colorsearchtest.extensions import (
      cache,
      db,
      migrate,
      debug_toolbar,
  )
  from colorsearchtest import public
  
  
  def create_app(config_object=ProdConfig):
      """An application factory, as explained here:
          http://flask.pocoo.org/docs/patterns/appfactories/
  
      :param config_object: The configuration object to use.
      """
      app = Flask(__name__)
      app.config.from_object(config_object)
      register_loggers(app)
      register_extensions(app)
      register_blueprints(app)
      register_errorhandlers(app)
      return app
  
  
  def register_extensions(app):
      assets.init_app(app)
      cache.init_app(app)
      db.init_app(app)
      debug_toolbar.init_app(app)
      migrate.init_app(app, db)
      return None
  
  
  def register_blueprints(app):
      app.register_blueprint(public.views.blueprint)
      return None
  
  
  def register_errorhandlers(app):
      def render_error(error):
          # If a HTTPException, pull the `code` attribute; default to 500
          error_code = getattr(error, 'code', 500)
          return render_template("{0}.html".format(error_code)), error_code
      for errcode in [401, 404, 500]:
          app.errorhandler(errcode)(render_error)
      return None
  
  
  def register_loggers(app):
      if not app.debug and os.environ.get('HEROKU') is None:
          import logging
          from logging.handlers import RotatingFileHandler
          file_handler = RotatingFileHandler('log/colorsearchtest.log', 'a', 1 * 1024 * 1024, 10)
          file_handler.setLevel(logging.INFO)
          file_handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'))
          app.logger.addHandler(file_handler)
          app.logger.setLevel(logging.INFO)
          app.logger.info('colorsearchtest startup')
  
      if os.environ.get('HEROKU') is not None:
          import logging
          stream_handler = logging.StreamHandler()
          app.logger.addHandler(stream_handler)
          app.logger.setLevel(logging.INFO)
          app.logger.info('colorsearchtest startup')
  
subject: fix up logging for heroku