From b0452bcd13650efc837962473b32a40bc295d9f6 Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Wed, 27 Mar 2024 17:58:41 +0100 Subject: Removed fortnite status script --- scripts/fortnite-status.py | 72 ---------------------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 scripts/fortnite-status.py diff --git a/scripts/fortnite-status.py b/scripts/fortnite-status.py deleted file mode 100644 index 3c0e33b..0000000 --- a/scripts/fortnite-status.py +++ /dev/null @@ -1,72 +0,0 @@ -# Simple utility class which provides an access to Fortnite service status report. -# Usage: ForniteStatus().getStatus() - -import requests as req -import html5lib -from bs4 import BeautifulSoup - -class FortniteStatus: - """ - Instantiate a FortniteStatus class. - """ - - class Status: - serviceStatuses = [] - - def prettify(self): - return 'Fortnite services status:\n' + '\n'.join([serviceStatus.prettify() for serviceStatus in self.serviceStatuses]) - - class ServiceStatus: - serviceName = '' - status = False - - def __init__(self, serviceName, status): - self.serviceName = serviceName - self.status = status - - def prettify(self): - return f'{self.serviceName}, {self.status}' - - def __findFortniteStatusHtmlComponent(self, html): - for component in html.findAll('div', {'class': 'component-container'}): - innerContainers = component.findAll('div', {'class': 'component-inner-container'}) - for innerContainer in innerContainers: - for names in innerContainer.findAll('span', {'class': 'name'}): - for name in names.findAll('span'): - if 'class' not in name.attrs and 'Fortnite' in name.text: - return component - - def __parseFortniteStatus(self, html): - component = self.__findFortniteStatusHtmlComponent(html) - status = self.Status() - childContainer = component.find('div', {'class': 'child-components-container'}) - for innerContainer in childContainer.findAll('div', {'class': 'component-inner-container'}): - name = innerContainer.find('span', {'class': 'name'}).text.strip() - statusString = innerContainer.find('span', {'class': 'component-status'}).text.strip() - if statusString == 'Operational': - statusCode = True - else: - statusCode = False - status.serviceStatuses.append(self.ServiceStatus(name, statusCode)) - - return status - - def getStatus(self): - webContent = req.get("https://status.epicgames.com/") - parsedHtml = BeautifulSoup(webContent.text, 'html5lib') - - return self.__parseFortniteStatus(parsedHtml) - - - - def printStatus(self): - """ - Prints a current Fortnite services status in stdout. - Example: - - """ - print(self.generateFortniteStatusReport()) - -# Example call -fortniteStatus = FortniteStatus() -print(fortniteStatus.getStatus().prettify()) \ No newline at end of file -- cgit v1.2.3