Skip to content

Commit f52acb6

Browse files
committed
added url parameter for parser methods
1 parent 05dd22b commit f52acb6

File tree

1 file changed

+22
-5
lines changed

1 file changed

+22
-5
lines changed

src/utils/metakg/parser.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,28 @@ class MetaKGParser:
1313
get_url_timeout = 60
1414
metakg_errors = None
1515

16-
def get_non_TRAPI_metadatas(self, data, extra_data=None):
17-
parser = API(data)
16+
def get_non_TRAPI_metadatas(self, data=None, extra_data=None, url=None): # *** TEST THIS FOR BREAK POINTS ***
17+
if data:
18+
parser = API(smartapi_doc=data)
19+
elif url:
20+
parser = API(url=url)
21+
else:
22+
return [] # **** ERROR HANDLE THIS ****
1823
mkg = self.extract_metakgedges(parser.metadata["operations"], extra_data=extra_data)
1924
no_nodes = len({x["subject"] for x in mkg} | {x["object"] for x in mkg})
2025
no_edges = len({x["predicate"] for x in mkg})
2126
logger.info("Done [%s nodes, %s edges]", no_nodes, no_edges)
2227
return mkg
2328

24-
def get_TRAPI_metadatas(self, data, extra_data=None):
29+
def get_TRAPI_metadatas(self, data=None, extra_data=None, url=None):
2530
ops = []
26-
metadata_list = self.get_TRAPI_with_metakg_endpoint(data)
31+
if data:
32+
metadata_list = self.get_TRAPI_with_metakg_endpoint(data=data)
33+
elif url:
34+
metadata_list = self.get_TRAPI_with_metakg_endpoint(url=url)
35+
else:
36+
return [] # **** ERROR HANDLE THIS ****
37+
2738
count_metadata_list = len(metadata_list)
2839
self.metakg_errors = {}
2940
for i, metadata in enumerate(metadata_list):
@@ -34,7 +45,13 @@ def get_TRAPI_metadatas(self, data, extra_data=None):
3445

3546
return self.extract_metakgedges(ops, extra_data=extra_data)
3647

37-
def get_TRAPI_with_metakg_endpoint(self, data):
48+
def get_TRAPI_with_metakg_endpoint(self, data=None, url=None): # TEST THIS FOR BREAK POINTS
49+
# Use the URL if provided, otherwise fall back to the 'data' argument
50+
if data:
51+
parser = API(data)
52+
elif url:
53+
parser = API(url=url)
54+
3855
metadatas = []
3956
parser = API(data)
4057
metadata = parser.metadata

0 commit comments

Comments
 (0)