我想将多个参数限制为不同的字符串集。以下是您的建议,为了让我的问题更清楚,这是我的代码,旨在成为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是否接受所提供字符串的代码
列表=[[1]、[4]、[7]] func(列表)
Enums是定义一组固定可能值的常用方法。标题要求输入字符串,问题显示数字,但枚举可以表示为任意一种
正如您在the docs中看到的,您可以指定自己的数值
和字符串名称。然后,
member.value
和member.name
让您访问这些相关问题 更多 >
编程相关推荐