/src/backend/lib/api_hooks.py

https://github.com/th3r00t/pyShelf · Python · 35 lines · 22 code · 6 blank · 7 comment · 7 complexity · 67646b96d60d5d3a23de39cd00321099 MD5 · raw file

  1. #!/usr/bin/python
  2. import sys
  3. import requests
  4. # sys.path.insert(1, 'lib/')
  5. class DuckDuckGo:
  6. """duckduckgo related searching"""
  7. def __init__(self):
  8. self.url = "https://api.duckduckgo.com/?q="
  9. def image_result(self, query):
  10. """
  11. Returns json containing url to image
  12. :param _key: &t=h_&iar=images&iax=images&ia=images&format=json&pretty=1
  13. """
  14. _key = "&t=h_&iar=images&iax=images&ia=images&format=json&pretty=1"
  15. try:
  16. query = query.string
  17. except AttributeError:
  18. query = query
  19. search_result = requests.get(self.url + query + _key)
  20. try:
  21. image_result = search_result.json()["Image"]
  22. except ValueError:
  23. image_result = ""
  24. if search_result.status_code == 200 and image_result != "":
  25. image = requests.get(search_result.json()["Image"], stream=True)
  26. image.raw.decode_content = True
  27. return image.raw
  28. else:
  29. return False