Skip to content
Snippets Groups Projects
Commit 95788f7e authored by Hunter Wittenborn's avatar Hunter Wittenborn
Browse files

Simplified method for passing arguments to functions

Added kwargs-styled arguments to all functions so we can more easily add 
arguments in the future
parent 5b7bd8cc
No related branches found
No related tags found
No related merge requests found
Pipeline #11350 failed
......@@ -50,7 +50,10 @@ SEARCH_BY_TYPES = ["name",
# Define functions for request types.
def add_deps(current_array, db_dep):
def add_deps(**args):
current_array = args["current_array"]
db_dep = args["db_dep"]
if db_dep.count() > 0:
# Create lists for all dependency types.
for i in DEP_TYPES.values():
......@@ -76,7 +79,10 @@ def add_deps(current_array, db_dep):
return current_array
def add_rels(current_array, db_rel):
def add_rels(**args):
current_array = args["current_array"]
db_rel = args["db_rel"]
if db_rel.count() > 0:
# Create lists for all relationship types.
for i in REL_TYPES.values():
......@@ -102,7 +108,12 @@ def add_rels(current_array, db_rel):
return current_array
def run_info(returned_data, package_name, snapshot_uri, search_by, request):
def run_info(**args):
returned_data = args["returned_data"]
package_name = args["package_name"]
snapshot_uri = args["snapshot_uri"]
search_by = args["search_by"]
# Get package name.
db_package = db.query(Package).filter(Package.Name == package_name)
......@@ -150,11 +161,11 @@ def run_info(returned_data, package_name, snapshot_uri, search_by, request):
# Generate dependency listing.
db_dep = db.query(PackageDependency).filter(PackageDependency.PackageID == db_package.ID)
current_array = add_deps(current_array, db_dep)
current_array = add_deps(current_array=current_array, db_dep=db_dep)
# Generate relationship listing.
db_rel = db.query(PackageRelation).filter(PackageRelation.PackageID == db_package.ID)
current_array = add_rels(current_array, db_rel)
current_array = add_rels(current_array=current_array, db_rel=db_rel)
# License table.
current_array["License"] = []
......@@ -173,7 +184,11 @@ def run_info(returned_data, package_name, snapshot_uri, search_by, request):
return returned_data
def run_search_dependencies(search_by, package_name, run_info_list):
def run_search_dependencies(**args):
search_by = args["search_by"]
package_name = args["package_name"]
run_info_list = args["run_info_list"]
dependency_id = DEP_NAMES[search_by]
db_dependency_packages = (db.query(PackageDependency)
.filter(PackageDependency.DepName == package_name)
......@@ -185,12 +200,18 @@ def run_search_dependencies(search_by, package_name, run_info_list):
run_info_list += [upstream_package_name]
# Define search functions for searching the db for data.
def run_search(returned_data, package_name, snapshot_uri, search_by, request):
def run_search(**args):
returned_data = args["returned_data"]
package_name = args["package_name"]
snapshot_uri = args["snapshot_uri"]
search_by = args["search_by"]
request = args["request"]
run_info_list = []
if search_by in DEP_NAMES.keys():
run_search_dependencies(search_by, package_name, run_info_list)
else:
search = PackageSearch(request.user)
......@@ -206,21 +227,20 @@ def run_search(returned_data, package_name, snapshot_uri, search_by, request):
run_info_list += [i.Name]
for i in run_info_list:
returned_data = run_info(returned_data, i, snapshot_uri, search_by, request)
returned_data = run_info(returned_data=returned_data,
package_name=i,
snapshot_uri=snapshot_uri,
search_by=search_by)
return returned_data
def RPC(**function_args):
# Get arguments.
#
# We'll use 'v' in the future when we add v6.
# v = function_args.get("v")
type = function_args.get("type")
args = function_args.get("argument_list")
returned_data = function_args.get("returned_data")
search_by = function_args.get("search_by")
request = function_args.get("request")
type = function_args["type"]
args = function_args["argument_list"]
returned_data = function_args["returned_data"]
search_by = function_args["search_by"]
request = function_args["request"]
# Get Snapshot URI
snapshot_uri = config.get("options", "snapshot_uri")
......@@ -257,7 +277,11 @@ def RPC(**function_args):
args = set(args)
for i in args:
returned_data = run_request(returned_data, i, snapshot_uri, search_by, request)
returned_data = run_request(returned_data=returned_data,
package_name=i,
snapshot_uri=snapshot_uri,
search_by=search_by,
request=request)
# Return the error message if one was made.
if returned_data.get("type") == "error":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment