2010-09-01 11:41:39 +04:00
|
|
|
#
|
|
|
|
# linkdrop - Pylons development environment configuration
|
|
|
|
#
|
|
|
|
# The %(here)s variable will be replaced with the parent directory of this file
|
|
|
|
#
|
|
|
|
[DEFAULT]
|
|
|
|
debug = true
|
|
|
|
# Uncomment and replace with the address which should receive any error reports
|
|
|
|
#email_to = you@yourdomain.com
|
|
|
|
smtp_server = localhost
|
|
|
|
error_email_from = paste@localhost
|
2010-09-23 02:20:46 +04:00
|
|
|
test_shortener = yes
|
|
|
|
|
|
|
|
bitly.userid = 'linkdrop'
|
|
|
|
bitly.key = 'R_9d8dc7f30887c45eb7b3719d71251006'
|
2010-09-01 11:41:39 +04:00
|
|
|
|
|
|
|
oauth.twitter.com.consumer_key = 2r1qbed58DAaNMe142msTg
|
|
|
|
oauth.twitter.com.consumer_secret = prh6A961516mJ3XEjd7eERsGxuVZqycrBB6lV7LQ
|
2010-09-20 10:33:29 +04:00
|
|
|
oauth.twitter.com.request = https://twitter.com/oauth/request_token
|
|
|
|
oauth.twitter.com.access = https://twitter.com/oauth/access_token
|
|
|
|
oauth.twitter.com.authorize = https://twitter.com/oauth/authenticate
|
|
|
|
|
2010-09-01 11:41:39 +04:00
|
|
|
# This is a 'raindrop' app currently owned by markh. By necessity it is
|
|
|
|
# configured to use a redirect URL back to the default host and port specified
|
|
|
|
# below for this server.
|
|
|
|
oauth.facebook.com.app_id = 158102624846
|
|
|
|
oauth.facebook.com.app_secret = 4203f7f23803f405e06509ec4d4b9729
|
2010-09-25 00:33:32 +04:00
|
|
|
oauth.facebook.com.scope = publish_stream,offline_access
|
2010-09-20 10:33:29 +04:00
|
|
|
oauth.facebook.com.authorize = https://graph.facebook.com/oauth/authorize
|
|
|
|
oauth.facebook.com.access = https://graph.facebook.com/oauth/access_token
|
2010-09-01 11:41:39 +04:00
|
|
|
|
2010-09-08 22:19:51 +04:00
|
|
|
# XXX This will not work without registering a domain! See README
|
2010-09-03 05:29:01 +04:00
|
|
|
oauth.google.com.consumer_key = anonymous
|
|
|
|
oauth.google.com.consumer_secret = anonymous
|
2010-09-08 22:19:51 +04:00
|
|
|
oauth.google.com.scope = https://mail.google.com/ http://www.google.com/m8/feeds/
|
2010-09-01 11:41:39 +04:00
|
|
|
|
2010-09-14 04:51:47 +04:00
|
|
|
# Register with Yahoo! at https://developer.apps.yahoo.com/projects
|
|
|
|
# Yahoo scope is embeded in the consumer_key and is selected at registration time
|
|
|
|
# You will need to setup an application with Yahoo on a domain where you can
|
|
|
|
# upload an html file in order to verify the application. once verified,
|
|
|
|
# also set verified = 1
|
|
|
|
oauth.yahoo.com.consumer_key = FILL_ME_IN
|
|
|
|
oauth.yahoo.com.consumer_secret = FILL_ME_IN
|
|
|
|
oauth.yahoo.com.app_id = FILL_ME_IN
|
|
|
|
# set to true if you have completed domain verification with Yahoo
|
|
|
|
oauth.yahoo.com.verified = 0
|
|
|
|
|
2010-09-01 11:41:39 +04:00
|
|
|
[server:main]
|
|
|
|
use = egg:Paste#http
|
|
|
|
host = 127.0.0.1
|
|
|
|
port = 5000
|
|
|
|
|
2010-09-23 23:05:44 +04:00
|
|
|
# how to profile middleware configured here
|
|
|
|
# 1. uncomment the following section
|
|
|
|
# 2. rename filter-app:main for beaker to filter-app:sess
|
|
|
|
#[filter-app:main]
|
|
|
|
#use = egg:linkdrop#profiler
|
|
|
|
## XXX a better location mechanism should be used
|
|
|
|
## where to save profile data
|
|
|
|
##dir = %(here)s/profile
|
|
|
|
## type = line or call, line profiling requires an additional module from enthought
|
|
|
|
## to use line profiling, easy_install line_profiler
|
|
|
|
## then you muse decorate a function to profile with @profile, it must be the
|
|
|
|
## last decorator before the function definition. to say the least, call profiling
|
|
|
|
## is much easier
|
|
|
|
#type = line
|
|
|
|
## not used with line profiler, sort var is from cProfile
|
|
|
|
## sort = time
|
|
|
|
## run a contextual profile
|
|
|
|
#builtin = 1
|
|
|
|
## dump to stderr
|
|
|
|
#pprint = 1
|
|
|
|
## convert to cachegrind (not used with line profiler)
|
|
|
|
## grind = 1
|
|
|
|
#
|
|
|
|
#next = sess
|
|
|
|
|
2010-09-10 06:24:28 +04:00
|
|
|
[filter-app:main]
|
|
|
|
use = egg:Beaker#beaker_session
|
|
|
|
next = csrf
|
2010-09-23 23:05:44 +04:00
|
|
|
# for profiling, we probably want to use memory as it will be more real-to-life
|
|
|
|
# since the production version should be using memcache. For regular dev, you
|
|
|
|
# probably don't want to turn this on as every time you restart the server
|
|
|
|
# you will need to re-authenticate
|
|
|
|
#beaker.type = memory
|
2010-09-25 00:33:20 +04:00
|
|
|
#beaker.type = ext:memcached
|
|
|
|
#beaker.url = 127.0.0.1:11211
|
2010-09-10 06:24:28 +04:00
|
|
|
beaker.session.key = linkdrop
|
|
|
|
beaker.session.secret = somesecret
|
|
|
|
|
|
|
|
[filter-app:csrf]
|
|
|
|
use = egg:linkdrop#csrf
|
|
|
|
# allow access to account api's for oauth, which will not have csrf token
|
2010-09-10 22:56:06 +04:00
|
|
|
# be sure to use the FULL path
|
|
|
|
csrf.unprotected_path = /api/account
|
2010-09-10 06:24:28 +04:00
|
|
|
next = sessioned
|
|
|
|
|
|
|
|
[composite:sessioned]
|
|
|
|
use = egg:Paste#urlmap
|
|
|
|
/ = home
|
|
|
|
/api = api
|
2010-09-01 11:41:39 +04:00
|
|
|
|
|
|
|
[app:home]
|
|
|
|
use = egg:Paste#static
|
|
|
|
document_root = %(here)s/web
|
|
|
|
|
|
|
|
[app:api]
|
|
|
|
#use: config:api.ini
|
|
|
|
|
|
|
|
use = egg:linkdrop
|
|
|
|
full_stack = true
|
2010-09-23 23:05:44 +04:00
|
|
|
static_files = false
|
|
|
|
# if we've configured beaker as a filter-app then don't enable it
|
|
|
|
# in the pylons middleware, it will just be a duplication.
|
|
|
|
session_middleware = false
|
2010-09-01 11:41:39 +04:00
|
|
|
|
|
|
|
cache_dir = %(here)s/data
|
|
|
|
beaker.session.key = linkdrop
|
|
|
|
beaker.session.secret = somesecret
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
# SQLAlchemy database URL
|
|
|
|
sqlalchemy.url = sqlite:///%(here)s/development.db
|
2010-09-25 00:33:20 +04:00
|
|
|
#sqlalchemy.url = mysql+mysqldb://linkdrop:linkdrop@localhost/linkdrop
|
2010-09-01 11:41:39 +04:00
|
|
|
|
2010-09-13 23:58:27 +04:00
|
|
|
# SQLAlchemy migration
|
|
|
|
# if managed, the migration repository is here
|
|
|
|
migrate.repository = %(here)s/changes
|
|
|
|
# automatically do database upgrades
|
|
|
|
migrate.auto = 1
|
|
|
|
|
2010-09-01 11:41:39 +04:00
|
|
|
# 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
|
|
|
|
|
2010-09-02 01:33:03 +04:00
|
|
|
# to turn on profiling or debugging with dbgp uncomment a filter
|
|
|
|
#filter-with = profiler
|
|
|
|
#filter-with = dbgp
|
|
|
|
|
2010-09-10 06:24:28 +04:00
|
|
|
|
2010-09-02 01:33:03 +04:00
|
|
|
[filter:profiler]
|
|
|
|
use = egg:linkdrop#profiler
|
|
|
|
# XXX a better location mechanism should be used
|
|
|
|
# where to save profile data
|
|
|
|
dir = %(here)s/profile
|
|
|
|
# type = line or call, line profiling requires an additional module from enthought
|
|
|
|
# to use line profiling, easy_install line_profiler
|
|
|
|
# then you muse decorate a function to profile with @profile, it must be the
|
|
|
|
# last decorator before the function definition. to say the least, call profiling
|
|
|
|
# is much easier
|
2010-09-23 23:05:44 +04:00
|
|
|
type = line
|
2010-09-02 01:33:03 +04:00
|
|
|
# not used with line profiler, sort var is from cProfile
|
|
|
|
# sort = time
|
|
|
|
# run a contextual profile
|
|
|
|
# builtin = 0
|
|
|
|
# dump to stderr
|
|
|
|
pprint = 1
|
|
|
|
# convert to cachegrind (not used with line profiler)
|
|
|
|
# grind = 1
|
|
|
|
|
|
|
|
[filter:dbgp]
|
|
|
|
use = egg:linkdrop#dbgp
|
|
|
|
# character key for use with dbgp proxy
|
|
|
|
#idekey=username
|
|
|
|
# machine client debugger (e.g. Komodo IDE) or proxy runs on
|
|
|
|
#host=127.0.0.1
|
|
|
|
# port the client debugger or proxy listens on
|
|
|
|
#port=9000
|
|
|
|
# only start debugging when an uncaught exception occurs
|
|
|
|
breakonexcept = 0
|
|
|
|
|
2010-09-01 11:41:39 +04:00
|
|
|
# Logging configuration
|
|
|
|
[loggers]
|
|
|
|
keys = root, routes, linkdrop, sqlalchemy
|
|
|
|
|
|
|
|
[handlers]
|
|
|
|
keys = console
|
|
|
|
|
|
|
|
[formatters]
|
|
|
|
keys = generic
|
|
|
|
|
|
|
|
[logger_root]
|
|
|
|
level = INFO
|
|
|
|
handlers = console
|
|
|
|
|
|
|
|
[logger_routes]
|
|
|
|
level = INFO
|
|
|
|
handlers =
|
|
|
|
qualname = routes.middleware
|
|
|
|
# "level = DEBUG" logs the route matched and routing variables.
|
|
|
|
|
|
|
|
[logger_linkdrop]
|
|
|
|
level = DEBUG
|
|
|
|
handlers =
|
|
|
|
qualname = linkdrop
|
|
|
|
|
|
|
|
[logger_sqlalchemy]
|
|
|
|
level = INFO
|
|
|
|
handlers =
|
|
|
|
qualname = sqlalchemy.engine
|
|
|
|
# "level = INFO" logs SQL queries.
|
|
|
|
# "level = DEBUG" logs SQL queries and results.
|
|
|
|
# "level = WARN" logs neither. (Recommended for production systems.)
|
|
|
|
|
|
|
|
[handler_console]
|
|
|
|
class = StreamHandler
|
|
|
|
args = (sys.stderr,)
|
|
|
|
level = NOTSET
|
|
|
|
formatter = generic
|
|
|
|
|
|
|
|
[formatter_generic]
|
|
|
|
format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s
|
|
|
|
datefmt = %H:%M:%S
|