Commit base app for time being. Doesn't do anything yet.

This commit is contained in:
Yuuki Chan 2023-02-23 23:22:25 +09:00
parent b066701d51
commit 7cbe96ac3d
5 changed files with 126 additions and 0 deletions

0
earnapp/__init__.py Normal file
View file

31
earnapp/earnapp.py Normal file
View file

@ -0,0 +1,31 @@
import httpx as requests
import json
from .errors import *
class EarnApp:
def __init__(self) -> None:
self.data = json.load(open('settings.json', mode='r', encoding='UTF-8'))['settings']
self.params = {
'appid': 'earnapp',
'version': '1.361.776',
}
self.headers = {
'cookie': 'auth=1; '
'auth-method=google; '
'oauth-token={}; '
'oauth-refresh-token={};'.format(self.data['oauth-token'], self.data['oauth-refresh-token'])
}
self.minimum_redeem_balance = float(2.50)
def get(self, endpoint: str) -> json:
r = requests.get(self.data['api'] + endpoint, params=self.params, headers=self.headers)
if r.status_code == 403:
raise AuthenticationError
elif r.status_code == 429:
raise TooManyRequestsError({'error': 'EarnApp does not allow adding multiple devices at the same time. '
'Try adding some delay between requests.'})
elif r.status_code == 200:
return r.json()

63
earnapp/errors.py Normal file
View file

@ -0,0 +1,63 @@
class UnKnownError(Exception):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class AuthenticationError(Exception):
def __init__(self) -> None:
super().__init__({'error': 'Error authenticating. Enter a proper oauth-refresh-token.'})
class DeviceAddError(Exception):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class DeviceNotFoundError(DeviceAddError):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class DeviceAlreadyAddedError(DeviceAddError):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class UnknownDeviceAddError(DeviceAddError):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class TooManyRequestsError(DeviceAddError):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class IPCheckError(Exception):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class UnknownIPCheckError(IPCheckError):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class InvalidIPAddressError(IPCheckError):
def __init__(self, *args: object) -> None:
super().__init__('The IP Address is not valid.', *args)
class RedeemError(Exception):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class UnKnownRedeemError(RedeemError):
def __init__(self, *args: object) -> None:
super().__init__(*args)
class MinimumRedeemBalanceError(RedeemError):
def __init__(self, *args: object) -> None:
super().__init__(*args)