UNKNOWN
Project description
Tornado Settings
----------------
Instalation
===========
shell:
$ pip install tornado_conf
Usage
=====
Project structure:
◉ project root/
├ <project_name>/
│ ├ ...
│ ├ settings/
│ │ ├ __init__.py
│ │ ├ server.cfg
│ │ ├ base.py
│ │ ├ local.py
│ │ ├ prod.py
│ │ └ qa.py
│ ├ ...
│ └ app.py
├ ...
├ LICENSE
├ README
└ .gitignore
settings/base.py:
setting1 = 'base setting'
SETTING = 'COMMON'
settings/local.py:
from .base import *
setting1 = 'local setting'
settings/prod.py:
from .base import *
setting1 = 'prod setting'
SETTING = 'PROD'
app.py:
import tornado.ioloop
import tornado.web
from tornado.options import options
from tornado_conf import setup_settings, settings
# ...
if __name__ == '__main__':
setup_settings(settings_package='settings')
options.parse_config_file('settings/server.cfg', final=False)
options.parse_command_line()
print settings.SETTING, settings.setting1
application = tornado.web.Application([
# ...
], **settings)
application.listen(8765)
tornado.ioloop.IOLoop.instance().start()
Shell:
$ python app.py
COMMON base setting
$ python app.py --settings=local
COMMON local setting
$ python app.py --settings=prod
PROD prod setting
$ python app.py --settings=unknown
Traceback (most recent call last):
...
ImportError: No module named unknown
----------------
Instalation
===========
shell:
$ pip install tornado_conf
Usage
=====
Project structure:
◉ project root/
├ <project_name>/
│ ├ ...
│ ├ settings/
│ │ ├ __init__.py
│ │ ├ server.cfg
│ │ ├ base.py
│ │ ├ local.py
│ │ ├ prod.py
│ │ └ qa.py
│ ├ ...
│ └ app.py
├ ...
├ LICENSE
├ README
└ .gitignore
settings/base.py:
setting1 = 'base setting'
SETTING = 'COMMON'
settings/local.py:
from .base import *
setting1 = 'local setting'
settings/prod.py:
from .base import *
setting1 = 'prod setting'
SETTING = 'PROD'
app.py:
import tornado.ioloop
import tornado.web
from tornado.options import options
from tornado_conf import setup_settings, settings
# ...
if __name__ == '__main__':
setup_settings(settings_package='settings')
options.parse_config_file('settings/server.cfg', final=False)
options.parse_command_line()
print settings.SETTING, settings.setting1
application = tornado.web.Application([
# ...
], **settings)
application.listen(8765)
tornado.ioloop.IOLoop.instance().start()
Shell:
$ python app.py
COMMON base setting
$ python app.py --settings=local
COMMON local setting
$ python app.py --settings=prod
PROD prod setting
$ python app.py --settings=unknown
Traceback (most recent call last):
...
ImportError: No module named unknown
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tornado_conf-0.0.1.tar.gz
(920 Bytes
view hashes)