From 0935ab0cb2c3634b553406eefabb5f97011f2e84 Mon Sep 17 00:00:00 2001 From: Jaydeep Das Date: Mon, 18 Oct 2021 12:46:42 +0530 Subject: [PATCH] Added giphy.py to fetch gifs on a given topic (#5378) * Added giphy.py to fetch gifs on a given topic * Modified code [*]Added doctest [*]Formatted with black * Minor change * Minor refactoring to avoid name clash * Made necessary changes as per review * Update web_programming/giphy.py Co-authored-by: Christian Clauss * Apply suggestions from code review * Final cleanup * Placate psf/black Co-authored-by: Christian Clauss --- web_programming/giphy.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 web_programming/giphy.py diff --git a/web_programming/giphy.py b/web_programming/giphy.py new file mode 100644 index 000000000..dc8c6be08 --- /dev/null +++ b/web_programming/giphy.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +import requests + +giphy_api_key = "YOUR API KEY" +# Can be fetched from https://developers.giphy.com/dashboard/ + + +def get_gifs(query: str, api_key: str = giphy_api_key) -> list: + """ + Get a list of URLs of GIFs based on a given query.. + """ + formatted_query = "+".join(query.split()) + url = f"http://api.giphy.com/v1/gifs/search?q={formatted_query}&api_key={api_key}" + gifs = requests.get(url).json()["data"] + return [gif["url"] for gif in gifs] + + +if __name__ == "__main__": + print("\n".join(get_gifs("space ship")))