paste deploy python ini 配置文件简单说明
2013-03-26 17:06
351 查看
转自:http://pypy.iteye.com/blog/1740122
配合http://www.python.org/dev/peps/pep-0333/
http://pythonpaste.org/deploy/
看下面的example(从网络上改造而来,出处URL也搞忘记的),很快会对python的paste如何组织wsgi有一个简单的了解,
pastedeploylab.ini
Python代码
pastedeployed.py
配合
看下面的example(从网络上改造而来,出处URL也搞忘记的),很快会对python的paste如何组织wsgi有一个简单的了解,
pastedeploylab.ini
Python代码
[DEFAULT] key1=value1 key2=value2 key3=values [composite:pdl] use=egg:Paste#urlmap /:root /calc:calc [filter:logrequest] username=root password=root123 paste.filter_factory=pastedeploylab:LogFilter.factory [filter:testrequest] username=admin password=admin paste.filter_factory=pastedeploylab:TestFilter.factory [app:calculator] description=Thisisan"+-*/"Calculator paste.app_factory=pastedeploylab:Calculator.factory [app:showversion] version=1.0.0 paste.app_factory=pastedeploylab:ShowVersion.factory [pipeline:root] pipeline=logrequesttestrequestshowversion [pipeline:calc] pipeline=logrequestcalculator
pastedeployed.py
importosserver.serve_forever()
importwebob
fromwebobimportRequest
fromwebobimportResponse
frompaste.deployimportloadapp
fromwsgiref.simple_serverimportmake_server
#Filter
classLogFilter():
def__init__(self,app):
self.app=app
def__call__(self,environ,start_response):
print"filter:LogFilteriscalled."
returnself.app(environ,start_response)
@classmethod
deffactory(cls,global_conf,**kwargs):
print"inLogFilter.factory",global_conf,kwargs
returnLogFilter
classTestFilter():
def__init__(self,app):
self.app=app
def__call__(self,environ,start_response):
print"filter:TestFilteriscalled."
returnself.app(environ,start_response)
@classmethod
deffactory(cls,global_conf,**kwargs):
print"inTestFilter.factory",global_conf,kwargs
returnTestFilter
classShowVersion():
def__init__(self):
pass
def__call__(self,environ,start_response):
start_response("200OK",[("Content-type","text/plain")])
return["PasteDeployLAB:Version=1.0.0",]
@classmethod
deffactory(cls,global_conf,**kwargs):
print"inShowVersion.factory:"
print"global_conf=",global_conf
print"kwargs=",kwargs
returnShowVersion()
classCalculator():
def__init__(self):
pass
def__call__(self,environ,start_response):
req=Request(environ)
res=Response()
res.status="200OK"
res.content_type="text/plain"
#getoperands
operator=req.GET.get("operator",None)
operand1=req.GET.get("operand1",None)
operand2=req.GET.get("operand2",None)
printreq.GET
opnd1=int(operand1)
opnd2=int(operand2)
ifoperator==u'plus':
opnd1=opnd1+opnd2
elifoperator==u'minus':
opnd1=opnd1-opnd2
elifoperator==u'star':
opnd1=opnd1*opnd2
elifoperator==u'slash':
opnd1=opnd1/opnd2
res.body="%s/nRESULT=%d"%(str(req.GET),opnd1)
returnres(environ,start_response)
@classmethod
deffactory(cls,global_conf,**kwargs):
print"inCalculator.factory",global_conf,kwargs
returnCalculator()
if__name__=='__main__':
configfile="pastedeploylab.ini"
appname="pdl"
wsgi_app=loadapp("config:%s"%os.path.abspath(configfile),appname)
server=make_server('localhost',8989,wsgi_app)
相关文章推荐
- Python3读写INI配置文件简单方法
- 如何使用Python3读取配置文件(ini)
- 【脚本语言系列】关于Python结构化文本文件处理配置文件.ini,你需要知道的事
- Python读取ini配置文件
- Python读取修改ini配置文件[ConfigParser]
- 通过python的ConfigParse模块读写ini配置文件
- Python recipe(11):读取ini配置文件
- 通过python读取ini配置文件
- python对配置文件.ini进行增删改查操作的方法示例
- PHP配置文件 php.ini 选项说明
- Python读取ini配置文件
- 读取INI配置文件GetProfileString和GetPrivateProfileString参数说明和示例
- python读取配置文件ini
- struts简单例子的分析(含代码注释和配置文件说明)
- dubbo简单实现——配置文件说明
- python对ini配置文件处理
- python 3.x 解析 INI配置文件(ConfigParser)
- struts简单例子的分析(含代码注释和配置文件说明)
- php.ini中文件上传功能配置选项说明
- python与linux共同修改ini配置文件时的空格、注释等问题解决办法