diff options
Diffstat (limited to 'megapixels/app/utils/api_utils.py')
| -rw-r--r-- | megapixels/app/utils/api_utils.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/megapixels/app/utils/api_utils.py b/megapixels/app/utils/api_utils.py index ec00113e..d9d67425 100644 --- a/megapixels/app/utils/api_utils.py +++ b/megapixels/app/utils/api_utils.py @@ -2,15 +2,21 @@ import json import urllib import urllib.request +from app.settings import app_cfg +from app.utils import file_utils, im_utils, logger_utils + class WikipediaAPI: url_base = 'https://en.wikipedia.org/w/api.php' - + log = logger_utils.Logger.getLogger() + # https://en.wikipedia.org/w/api.php?redirects=& + # ppprop=displaytitle&prop=pageprops|pageimages|description&generator=prefixsearch + # &action=query&format=json&piprop=thumbnail&pithumbsize=160&pilimit=6&gpssearch=Vicente+Fox&gpsnamespace=0&gpslimit=6 + def _url_builder(self, q): # https://www.mediawiki.org/wiki/API%3aProperties#Info%3a_Parameters - params = { 'redirects': '', 'ppprop': 'displaytitle', @@ -56,12 +62,16 @@ class WikipediaAPI: obj['wp_accessed'] = False return obj - def get_meta(self, query_obj): + def get_meta(self, query_obj, verbose=False): '''Searches Wikipedia API for query string''' + if query_obj.get('wp_accessed', False): return query_obj else: url = self._url_builder(query_obj['query']) + if verbose: + self.log.debug(f'querying: {url}') + print(url) return self._api_search(url) def search(self, q): @@ -73,9 +83,14 @@ class WikipediaAPI: class GoogleKnowledgeGraph: url_kg_api = 'https://kgsearch.googleapis.com/v1/entities:search' + log = logger_utils.Logger.getLogger() + fp_api_key = app_cfg.FP_KNOWLEDGE_GRAPH_ENV - def __init__(self, key): - self._api_key = key + def __init__(self, api_key=None): + if api_key is not None: + self._api_key = api_key + else: + self._api_key = open(self.fp_api_key).read() def _get_kg_meta(self, result_obj, params): |
