Simplified and reduced redundancy in code

- Removed 'if type == "info"' as requested by @kevr

- Checked for valid type against the type dictionary, removing the 
needed to maintain two separate spots for type definitions.
This commit is contained in:
Hunter Wittenborn 2021-09-16 03:34:52 -05:00
parent a4f5c8bef6
commit 25aea216c5
2 changed files with 16 additions and 10 deletions

View file

@ -58,10 +58,6 @@ async def rpc(request: Request,
elif v != 5:
return {"error": "Invalid version specified."}
# The PHP implementation sets the type to 'multiinfo' when the type is set to 'info'.
if type == "info":
type = "multiinfo"
# Defaults for returned data
returned_data = {}

View file

@ -165,15 +165,14 @@ def RPC(**function_args):
# Get Snapshot URI
snapshot_uri = config.get("options", "snapshot_uri")
# Remove duplicate arguments if type is 'multiinfo' so we don't fetch
# results for a package multiple times.
#
# Note that the type is set to 'multiinfo' when 'type=info' is passed.
if type == "multiinfo":
# Remove duplicate arguments if type is 'info' or 'multiinfo' so we don't
# fetch results for a package multiple times.
if type in ("info", "multiinfo"):
args = set(args)
# Set request type to run.
type_actions = {
"info": run_info,
"multiinfo": run_info
}
@ -185,4 +184,15 @@ def RPC(**function_args):
for i in args:
returned_data = run_request(returned_data, i, snapshot_uri)
elif type is None:
returned_data["type"] = "error"
returned_data["error"] = "No request type/data specified."
return returned_data
else:
returned_data["type"] = "error"
returned_data["error"] = "Incorrect request type specified."
return returned_data
return returned_data