first commit
This commit is contained in:
28
utils.py
Normal file
28
utils.py
Normal file
@ -0,0 +1,28 @@
|
||||
import re
|
||||
import sys
|
||||
|
||||
_URL_PLACEHOLDER_PATTERN = re.compile('<(.*?)>')
|
||||
|
||||
|
||||
def get_pipe(name):
|
||||
"""通过 mod.ClassName 导入自定义的PipeHandler"""
|
||||
module_name, obj_name = name.rsplit('.', 1)
|
||||
__import__(module_name)
|
||||
module = sys.modules[module_name]
|
||||
obj = getattr(module, obj_name)
|
||||
return obj
|
||||
|
||||
|
||||
def extract_placeholders(url):
|
||||
"""
|
||||
>>> res = extract_placeholders("/<service_name>/resource/<resource_id>/submit/")
|
||||
>>> assert set(res) == {"service_name", "resource_id"}
|
||||
:param url: request url name
|
||||
:return: list of placeholder name
|
||||
"""
|
||||
return _URL_PLACEHOLDER_PATTERN.findall(url)
|
||||
|
||||
|
||||
def replace_placeholder(url, placeholder_name, value):
|
||||
return url.replace('<{}>'.format(placeholder_name), str(value))
|
||||
|
Reference in New Issue
Block a user