python - 将多个参数限制为每个特定的字符串集
问题描述
我想将多个参数限制为不同的字符串集。按照您的建议,为了使我的问题更清楚,这是我的代码,旨在成为 API 的包装器:
import requests
class Judikatur():
def __init__(self,
category: str,
published="Undefined",
entscheidungstexte=True,
rechtssaetze=True,
VfghRequestEntscheidungsart="Undefined",
VwghRequestEntscheidungsart="Undefined",
BvwgRequestEntscheidungsart="Undefined",
LvwgRequestEntscheidungsart="Undefined",
GbkRequestEntscheidungsart="Undefined",
GbkKommission="Undefined",
GbkSenat="Undefined",
GbkDiskriminierungsgrund="Undefined",
DskRequestEntscheidungsart="Undefined",
DskBehoerde="Undefined",
PvakBehoerde="Undefined",
LvwgBundesland="Undefined"):
然后我继续检查提供的字符串是否被 API 接受。
if category not in ["Justiz", "Vfgh", "Vwgh", "Bvwg", "Lvwg", "Gbk", "Dsk", "Dok", "Pvak"]:
raise ValueError('Please provide a valid category. Valid categories are:\n\
"Justiz" for "Gerichtsentscheidungen";\n\
"Vfgh" for "Entscheidungen des Verfassungsgerichtshofs";\n\
"Vwgh" for "Entscheidungen des Verwaltungsgerichtshofs";\n\
"Bvwg" for "Entscheidungen des Bundesverwaltungsgerichts";\n\
"Lvwg" for "Entscheidungen der Landesverwaltungsgerichte";\n\
"Gbk" for "Entscheidungen der Gleichbehandlungskommission";\n\
"Dsk" for "Entscheidungen der Datenschutzbehörde";\n\
"Dok" for "Entscheidungen der Disziplinarkommission";\n\
"Pvak" for "Personalvertretungsaufsichtsbehörde".')
if published not in ["Undefined", "EinerWoche", "ZweiWochen", "EinemMonat", "DreiMonaten", "SechsMonaten", "EinemJahr"]:
raise ValueError(
'Please provide a valid time since publication. The API accepts "Undefined", "EinerWoche", "ZweiWochen", "EinemMonat", "DreiMonaten", "SechsMonaten" or "EinemJahr".')
if VfghRequestEntscheidungsart not in ["Undefined", "Beschluss", "Erkenntnis", "Vergleich"]:
raise ValueError(
'Please provide a valid argument for "VfghRequestEntscheidungsart". The API accepts "Undefined", "Beschluss", "Erkenntnis" or "Vergleich".')
if VwghRequestEntscheidungsart not in ["Undefined", "Beschluss", "Erkenntnis", "BeschlussVS", "ErkenntnisVS"]:
raise ValueError(
'Please provide a valid argument for "VwghRequestEntscheidungsart". The API accepts "Undefined", "Beschluss", "Erkenntnis", "BeschlussVS" or "ErkenntnisVS".')
if BvwgRequestEntscheidungsart not in ["Undefined", "Beschluss", "Erkenntnis"]:
raise ValueError(
'Please provide a valid argument for "BvwgRequestEntscheidungsart". The API accepts "Undefined", "Beschluss" or "Erkenntnis".')
if LvwgRequestEntscheidungsart not in ["Undefined", "Beschluss", "Erkenntnis", "Bescheid"]:
raise ValueError(
'Please provide a valid argument for "LvwgRequestEntscheidungsart". The API accepts "Undefined", "Beschluss", "Erkenntnis" or "Bescheid".')
# etc.
pass
许多参数采用相似的字符串,但没有一组接受的字符串是相同的。
是否有可能减少上述检查提供的字符串是否被 API 接受的代码?
解决方案
推荐阅读
- mysql - 将 50GB 数据导入 MySQL 哪个更快?数据库源或shell命令读取文件?
- javascript - 我想根据薪水使用 if 条件修改数组
- reactjs - 获取远程图像并将其转换为 gatsby 图像
- python - 使用具有一定大小的较小矩阵和 numpy 数组循环遍历 nxn 矩阵
- list - 从列表的所有元素中的字符串中删除字符
- json - 使用 Swift4 解析 json 时出错,无法打印
- java - 如何在 Eclipse 中从参考库中导入类?
- jobs - nodemon 在后台运行在终端输入上停止
- python - 遍历 JSON 需要比我想要的更多的循环
- r - 将 qqcomp 与 ggplot 对象相结合