this fixes #1 and improved the code base

This commit is contained in:
Aman Ahmed Zahir 2024-04-21 04:44:52 +00:00
parent 558a9abecc
commit 887dfcc088
29 changed files with 542 additions and 139 deletions

View File

@ -18,6 +18,7 @@ repos:
- id: detect-private-key
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: file-contents-sorter
- repo: https://github.com/hhatto/autopep8
rev: v2.1.0
hooks:
@ -30,3 +31,7 @@ repos:
rev: v3.15.2
hooks:
- id: pyupgrade
- repo: https://github.com/abdelrahman0w/ouro
rev: v0.2.0
hooks:
- id: ouro

View File

@ -1,5 +1,5 @@
from .apps import Apps
__all__ = [
"Apps"
]
'Apps',
]

View File

@ -43,7 +43,7 @@ def Apps(page: ft.Page):
),
)
AppRow.controls.append(
ft.Text('Dhiraagu')
ft.Text('Dhiraagu'),
)
AppRow.controls.append(
ft.Container(
@ -56,7 +56,10 @@ def Apps(page: ft.Page):
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.ACCOUNT_BOX, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.ACCOUNT_BOX,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -68,16 +71,22 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Gift",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Gift',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.ELECTRIC_BOLT, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.ELECTRIC_BOLT,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -89,16 +98,22 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Reload",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Reload',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.DASHBOARD, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.DASHBOARD,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -110,16 +125,22 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Usage",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Usage',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.RECEIPT, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.RECEIPT,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -131,16 +152,19 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Bills",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Bills',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
],
alignment=ft.MainAxisAlignment.CENTER,
),
)
),
)
if config.getint('apps', 'ooredoo') == 1:
appList.content.controls.append(
@ -165,10 +189,10 @@ def Apps(page: ft.Page):
padding=10,
on_click=lambda _: page.go('/apps/ooredoo'),
),
)
),
)
AppRow.controls.append(
ft.Text('Ooredoo')
ft.Text('Ooredoo'),
)
AppRow.controls.append(
ft.Container(
@ -181,7 +205,10 @@ def Apps(page: ft.Page):
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.SETTINGS_PHONE, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.SETTINGS_PHONE,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -193,16 +220,22 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Add-ons",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Add-ons',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.ELECTRIC_BOLT, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.ELECTRIC_BOLT,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -214,16 +247,22 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Raastas",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Raastas',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.DASHBOARD, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.DASHBOARD,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -235,16 +274,22 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Balance",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Balance',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(ft.icons.RECEIPT, color=ft.colors.WHITE),
content=ft.Icon(
ft.icons.RECEIPT,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
@ -256,16 +301,19 @@ def Apps(page: ft.Page):
on_click=None,
),
ft.Container(
content=ft.Text("Bills",text_align=ft.TextAlign.CENTER),
content=ft.Text(
'Bills',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center,
width=80
)
]
width=80,
),
],
),
],
alignment=ft.MainAxisAlignment.CENTER,
),
)
),
)
if config.getint('apps', 'mwsc') == 1:
appList.content.controls.append(
@ -313,7 +361,7 @@ def Apps(page: ft.Page):
],
),
padding=10,
on_click=lambda _:page.go('/apps/stelco'),
on_click=lambda _: page.go('/apps/stelco'),
),
),
)
@ -353,6 +401,6 @@ def Apps(page: ft.Page):
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
appsContainer
appsContainer,
],
)

View File

@ -9,5 +9,5 @@ __all__ = [
'Ooredoo',
'Medianet',
'Stelco',
'Mwsc'
]
'Mwsc',
]

View File

@ -1,5 +1,5 @@
from .app import App as Dhiraagu
__all__ = [
'Dhiraagu'
]
'Dhiraagu',
]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'),
),
title=ft.Text("Dhiraagu"),
title=ft.Text('Dhiraagu'),
bgcolor=ft.colors.TRANSPARENT,
),
],

View File

@ -1,5 +1,5 @@
from .app import App as Medianet
__all__ = [
"Medianet"
]
'Medianet',
]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'),
),
title=ft.Text("Medianet"),
title=ft.Text('Medianet'),
bgcolor=ft.colors.TRANSPARENT,
),
],

View File

@ -1,5 +1,5 @@
from .app import App as Mwsc
__all__ = [
'Mwsc'
]
'Mwsc',
]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'),
),
title=ft.Text("MWSC"),
title=ft.Text('MWSC'),
bgcolor=ft.colors.TRANSPARENT,
),
],

View File

@ -1,5 +1,5 @@
from .app import App as Ooredoo
__all__ = [
'Ooredoo'
]
'Ooredoo',
]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'),
),
title=ft.Text("Ooredoo"),
title=ft.Text('Ooredoo'),
bgcolor=ft.colors.TRANSPARENT,
),
],

View File

@ -1,5 +1,5 @@
from .app import App as Stelco
__all__ = [
'Stelco'
]
'Stelco',
]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'),
),
title=ft.Text("STELCO"),
title=ft.Text('STELCO'),
bgcolor=ft.colors.TRANSPARENT,
),
],

View File

@ -20,6 +20,7 @@ def main(page: ft.Page):
page.views.pop()
top_view = page.views[-1]
page.go(top_view.route)
if config.get('general', 'theme') == 'dark':
page.theme_mode = ft.ThemeMode.DARK
else:

View File

@ -45,7 +45,8 @@ def Home(page: ft.Page):
[
ft.Container(
content=ft.Icon(
ft.icons.APPS, color=ft.colors.WHITE,
ft.icons.APPS,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
@ -59,34 +60,8 @@ def Home(page: ft.Page):
),
ft.Container(
content=ft.Icon(
ft.icons.HISTORY, color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
on_click=None,
),
ft.Container(
content=ft.Icon(
ft.icons.SETTINGS, color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
ink=True,
on_click=lambda _: page.go('/settings'),
),
ft.Container(
content=ft.Icon(
ft.icons.LIST, color=ft.colors.WHITE,
ft.icons.HISTORY,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
@ -100,6 +75,38 @@ def Home(page: ft.Page):
'Clickable with Ink clicked!',
),
),
ft.Container(
content=ft.Icon(
ft.icons.LIST,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
ink=True,
on_click=lambda e: print(
'Clickable with Ink clicked!',
),
),
ft.Container(
content=ft.Icon(
ft.icons.SETTINGS,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
ink=True,
on_click=lambda _: page.go('/settings'),
),
],
alignment=ft.MainAxisAlignment.CENTER,
),

View File

@ -0,0 +1,13 @@
from .dhiraagu_settings import Settings as DhiraaguSettings
from .medianet_settings import Settings as MedianetSettings
from .mwsc_settings import Settings as MwscSettings
from .ooredoo_settings import Settings as OoredooSettings
from .stelco_settings import Settings as StelcoSettings
__all__ = [
'DhiraaguSettings',
'MedianetSettings',
'MwscSettings',
'OoredooSettings',
'StelcoSettings'
]

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'dhiraagu'))
if config.getint('apps', 'dhiraagu'):
config.save('apps', 'dhiraagu', '0')
else:
config.save('apps', 'dhiraagu', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'dhiraagu') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/dhiraagu',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'medianet'))
if config.getint('apps', 'medianet'):
config.save('apps', 'medianet', '0')
else:
config.save('apps', 'medianet', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'medianet') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/medianet',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'mwsc'))
if config.getint('apps', 'mwsc'):
config.save('apps', 'mwsc', '0')
else:
config.save('apps', 'mwsc', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'mwsc') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/mwsc',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'ooredoo'))
if config.getint('apps', 'ooredoo'):
config.save('apps', 'ooredoo', '0')
else:
config.save('apps', 'ooredoo', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'ooredoo') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/ooredoo',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'stelco'))
if config.getint('apps', 'stelco'):
config.save('apps', 'stelco', '0')
else:
config.save('apps', 'stelco', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'stelco') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/stelco',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -1,3 +1,4 @@
from .config import config
from .theme import Theme
__all__ = ['config', 'Theme']

View File

@ -2,20 +2,19 @@ from configparser import ConfigParser
import os
static = """
[general]
name =
phone =
email =
theme = dark
nid =
theme = light
[apps]
dhiraagu = 1
ooredoo = 1
hdc = 1
mwsc = 1
stelco = 1
medianet = 1
dhiraagu = 0
ooredoo = 0
mwsc = 0
stelco = 0
medianet = 0
[dhiraagu]
phone =
@ -45,6 +44,7 @@ bill_no =
account_no =
nid =
phone =
"""

View File

@ -17,19 +17,24 @@ def Settings(page: ft.Page):
content=newName,
actions=[
ft.CupertinoButton(
'Save', on_click=lambda _: (
'Save',
on_click=lambda _: (
setattr(
dlg, 'open', False,
dlg,
'open',
False,
),
config.save(
'general', 'name',
'general',
'name',
newName.value,
),
page.update(),
),
),
ft.CupertinoButton(
'Close', on_click=lambda _: (
'Close',
on_click=lambda _: (
setattr(dlg, 'open', False),
page.update(),
),
@ -48,19 +53,24 @@ def Settings(page: ft.Page):
content=newPhone,
actions=[
ft.CupertinoButton(
'Save', on_click=lambda _: (
'Save',
on_click=lambda _: (
setattr(
dlg, 'open', False,
dlg,
'open',
False,
),
config.save(
'general', 'phone',
'general',
'phone',
newPhone.value,
),
page.update(),
),
),
ft.CupertinoButton(
'Close', on_click=lambda _: (
'Close',
on_click=lambda _: (
setattr(dlg, 'open', False),
page.update(),
),
@ -79,19 +89,24 @@ def Settings(page: ft.Page):
content=newEmail,
actions=[
ft.CupertinoButton(
'Save', on_click=lambda _: (
'Save',
on_click=lambda _: (
setattr(
dlg, 'open', False,
dlg,
'open',
False,
),
config.save(
'general', 'email',
'general',
'email',
newEmail.value,
),
page.update(),
),
),
ft.CupertinoButton(
'Close', on_click=lambda _: (
'Close',
on_click=lambda _: (
setattr(dlg, 'open', False),
page.update(),
),
@ -110,19 +125,24 @@ def Settings(page: ft.Page):
content=newNID,
actions=[
ft.CupertinoButton(
'Save', on_click=lambda _: (
'Save',
on_click=lambda _: (
setattr(
dlg, 'open', False,
dlg,
'open',
False,
),
config.save(
'general', 'nid',
'general',
'nid',
newNID.value,
),
page.update(),
),
),
ft.CupertinoButton(
'Close', on_click=lambda _: (
'Close',
on_click=lambda _: (
setattr(dlg, 'open', False),
page.update(),
),
@ -267,7 +287,7 @@ def Settings(page: ft.Page):
],
),
padding=10,
on_click=None,
on_click=lambda _: page.go('/settings/dhiraagu'),
),
),
ft.Card(
@ -289,7 +309,7 @@ def Settings(page: ft.Page):
],
),
padding=10,
on_click=lambda _: print('clicked ooredoo'),
on_click=lambda _: page.go('/settings/ooredoo'),
),
),
ft.Card(
@ -311,7 +331,7 @@ def Settings(page: ft.Page):
],
),
padding=10,
on_click=lambda _: print('clicked stelco'),
on_click=lambda _: page.go('/settings/stelco'),
),
),
ft.Card(
@ -333,7 +353,7 @@ def Settings(page: ft.Page):
],
),
padding=10,
on_click=lambda _: print('clicked mwsc'),
on_click=lambda _: page.go('/settings/mwsc'),
),
),
ft.Card(
@ -355,7 +375,7 @@ def Settings(page: ft.Page):
],
),
padding=10,
on_click=lambda _: print('clicked medianet'),
on_click=lambda _: page.go('/settings/medianet'),
),
),
],
@ -373,9 +393,13 @@ def Settings(page: ft.Page):
e.value = True
config.save('general', 'theme', 'light')
Theme(page).change(
ft.ThemeMode.DARK if page.theme_mode ==
ft.ThemeMode.LIGHT else ft.ThemeMode.LIGHT,
(
ft.ThemeMode.DARK
if page.theme_mode == ft.ThemeMode.LIGHT
else ft.ThemeMode.LIGHT
),
)
themeSettings = ft.Container(
content=ft.Column(
controls=[

View File

@ -2,4 +2,4 @@ import os
def Title(title: str):
return str(os.path.basename(title)).split('.')[0].title()
return str(os.path.basename(title)).split('.')[0].title().replace('_', ' ')

View File

@ -1,6 +1,13 @@
from modules import Home, Settings
from apps import Apps
from apps.plugins import Ooredoo, Dhiraagu, Medianet, Mwsc, Stelco
from modules.settings.appSettings import (
DhiraaguSettings,
MedianetSettings,
StelcoSettings,
OoredooSettings,
MwscSettings,
)
def views_handler(page):
@ -10,6 +17,12 @@ def views_handler(page):
# settings
views['/settings'] = Settings(page)
views['/settings/dhiraagu'] = DhiraaguSettings(page)
views['/settings/ooredoo'] = OoredooSettings(page)
views['/settings/mwsc'] = MwscSettings(page)
views['/settings/medianet'] = MedianetSettings(page)
views['/settings/stelco'] = StelcoSettings(page)
# apps
views['/apps'] = Apps(page)
views['/apps/dhiraagu'] = Dhiraagu(page)

View File

@ -1,5 +1,5 @@
from .dhiraagu import DhiraaguAPI
__all__ = [
'DhiraaguAPI'
]
'DhiraaguAPI',
]

View File

@ -1,13 +1,14 @@
import requests
class DhiraaguAPI:
def __init__(
self,
phone: str = None,
otp: str = None,
token: str = None,
account: str = None,
) -> None:
self,
phone: str = None,
otp: str = None,
token: str = None,
account: str = None,
) -> None:
self.phone = phone
self.otp = otp
self.token = token
@ -24,19 +25,19 @@ class DhiraaguAPI:
}
if self.token:
self.headers['Authorization'] = f'Bearer {self.token}'
def login(self):
data = requests.post(
'https://app-production.dhiraagu.com.mv/auth',
json={
'number': self.phone,
'otp': self.otp
}
'otp': self.otp,
},
)
return data.json()
def bills(self):
return requests.get(
f'https://app-production.dhiraagu.com.mv/io/v1/info/subscribers/{self.account}/liberate/billinfo',
headers=self.headers
headers=self.headers,
).json()