tux-discord-bot/src/addons.py
2024-02-16 01:35:30 +01:00

48 lines
1.3 KiB
Python

import requests
import json
from models.xkcdComic import Comic
class ProgrammerExcuses:
def __init__(self) -> None:
self.url = "http://programmingexcuses.com"
def get_excuse(self):
page = requests.get(url=self.url)
content = page.content.decode().split("\n")
for html in content:
if 'href="/"' in html:
start_index = html.find('3;">')
end_index = html.find("</a></center>")
return html[start_index + 4:end_index]
class XKCD:
def __init__(self) -> None:
self.url = "https://xkcd.com"
self.api = "info.0.json"
def get_random_comic(self):
response = requests.get(url=f"https://c.xkcd.com/random/comic")
for line in response.text.split("\n"):
if '<meta property="og:url"' in line:
line = line.split('"')
for cell in line:
if "https" in cell:
return self.get_specific_comic(url=cell)
def get_last_comic(self):
response = requests.api.get(f"{self.url}/{self.api}")
return Comic(json.loads(response.text))
def get_specific_comic(self, num=None, url=None):
if num is not None:
response = requests.api.get(url=f"{self.url}/{num}/{self.api}")
return Comic(json.loads(response.text))
if url is not None:
response = requests.api.get(url=f"{url}/{self.api}")
return Comic(json.loads(response.text))