#
# MediaCore - Pylons configuration
#
# The %(here)s variable will be replaced with the parent directory of this file
#
[DEFAULT]
email_to = you@yourdomain.com
smtp_server = localhost
error_email_from = paste@localhost

[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = 8080

[app:main]
# Specify the database for SQLAlchemy to use
sqlalchemy.url = mysql://username:pass@localhost/dbname?charset=utf8&use_unicode=0
sqlalchemy.echo = False
sqlalchemy.pool_recycle = 3600

# Session salts.
beaker.session.secret = ${app_instance_secret}
sa_auth.cookie_secret = ${app_instance_secret}

# Specify an optional prefix for table names.
# Use this if you want to put mediacore in the same database as another app.
# XXX: If you use this setting and you want to enable search, you'll have to
#      manually edit the table names in setup_triggers.sql to use this prefix.
# e.g. if you want your tables to be named like 'mcore_media', you should set:
# db_table_prefix = mcore

# mod_proxy settings (untested)
# Use this if you are hosting mediacore behind a proxy.
# e.g. If hosting mediacore via mod_proxy at the URL
#      yoursite.com/my_proxied_mediacore/, such that all requests are passed
#      through to a Paste server at localhost:8080/, you should set:
# proxy_prefix = /my_proxied_mediacore

# Method to use when servng static media files. On of:
#   apache_xsendfile - requires Apache 2.x and mod_xsendfile
#   nginx_redirect - requires nginx - *not yet implemented*
#   default - uses environ['wsgi.file_wrapper'] if it's provided by the server,
#             otherwise a pure-python file iterator returns the file in chunks
file_serve_method = default

# Enable automatic gzip compresson for all html/css/js/json responses.
# Keep this enabled unless you're serving MediaCore via Apache and you
# are able to enable gzip there instead.
enable_gzip = true

# Data paths (your server user must be able to write to these paths!)
cache_dir = %(here)s/data
image_dir = %(here)s/data/images
media_dir = %(here)s/data/media

# Files can be moved to a trash-like folder instead of being deleted
# permanently from the filesystem. Uncomment the line below to enable this:
#deleted_files_dir = %(here)s/data/deleted

# If you'd like to fine-tune the individual locations of the cache data dirs
# for the Cache data, or the Session saves, un-comment the desired settings
# here:
#beaker.cache.data_dir = %(here)s/data/cache
#beaker.session.data_dir = %(here)s/data/sessions

# Specify the layout template name to wrap core mediacore output in
layout_template = layout

# Defines an external genshi template to wrap the output (including layout) in
external_template = false
external_template_name = external
external_template_url = http://some/valid_genshi_template.html
external_template_timeout = 600

# Misc app instance settings
use = egg:MediaCore
full_stack = true
static_files = true
app_instance_uuid = ${app_instance_uuid}
beaker.session.key = mediacore

# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
set debug = false


# Logging configuration
# Add additional loggers, handlers, formatters here
# Uses python's logging config file format
# http://docs.python.org/lib/logging-config-fileformat.html

[loggers]
keys = root

[handlers]
keys = console, wsgierrors
# To enable a mediacore-specific logfile, see the [handler_logfile] setting
# below, and add 'logfile' to the list of keys, like so
# keys = console, wsgierrors, logfile

[formatters]
keys = generic

# If you create additional loggers, add them as a key to [loggers]
# see development.ini for examples
[logger_root]
level = INFO
handlers = console

# If you create additional handlers, add them as a key to [handlers]
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[handler_wsgierrors]
# Handler for logging to the WSGI error handler (eg. apache's error log)
class = pylons.log.WSGIErrorsHandler
args = ()
level = NOTSET
format = generic

[handler_logfile]
# Handler for logging to a dedicated logfile. To use this, see the [handlers]
# section above; ensure the logfile you name is writeable by your server user.
class = FileHandler
args = ('/path/to/mediacore_install/data/deployment.log','a')
level = NOTSET
formatter = generic

# If you create additional formatters, add them as a key to [formatters]
[formatter_generic]
format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s
datefmt = %H:%M:%S
