""" Devrant.io API. Written by Rohan Burke (coolq). """ import requests, json class Devrant: API = "https://www.devrant.io/api/" """ get_profile(id): Return JSON object with all information about that user. """ def get_profile(self, id_): url = self.API + "users/" + str(id_) params = { "app": 3, } r = requests.get(url, params) obj = json.loads(r.text) return obj """ get_search(term): Return JSON object containing all results of that search. Index ['rants'] for rants. """ def get_search(self, term): url = self.API + "devrant/search" params = {"app": 3, "term": term} r = requests.get(url, params, timeout=5) obj = json.loads(r.text) return obj """ get_rant(sort, index): Return JSON object of that rant. """ def get_rant_original(self, sort, index): rants = self.get_rants(sort, 1, index)["rants"] if rants: return rants[0] def get_rant(self, rant_id): url = self.API + "devrant/rants/" + str(rant_id) params = { "app": 3, } r = requests.get(url, params, timeout=5) obj = json.loads(r.text) return obj """ get_rants(sort, limit, skip): Return JSON object with range skip-limit. Max limit is 50, increase the skip to get rants further down. """ def get_rants(self, sort, limit, skip): url = self.API + "devrant/rants" params = {"app": 3, "sort": sort, "limit": limit, "skip": skip} r = requests.get(url, params, timeout=5) obj = json.loads(r.text) return obj """ get_user_id(name): Return JSON with containing the id for that user, E.g. if `coolq` is inputted, it shall return `{'success': True, 'user_id': 703149}`. """ def get_user_id(self, name): url = self.API + "get-user-id" params = {"app": 3, "username": name} r = requests.get(url, params) obj = json.loads(r.text) return obj