first commit

This commit is contained in:
mol
2023-02-04 00:14:50 +08:00
commit a2f1b6d4fd
51 changed files with 839 additions and 0 deletions

28
utils.py Normal file
View 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))