trmnl-bring-plugin/fetch_lists.py

36 lines
965 B
Python

import asyncio
import os
import aiohttp
from bring_api import Bring
from dotenv import load_dotenv
load_dotenv()
class Color:
BOLD = '\033[1m'
END = '\033[0m'
async def main():
email = os.getenv("EMAIL")
password = os.getenv("PASSWORD")
async with aiohttp.ClientSession() as session:
bring = Bring(session, email, password)
await bring.login()
lists = (await bring.load_lists()).lists
if len(lists) <= 0:
print("No lists found on account")
return
name_col_width = max(len("Name"), max(len(l.name) for l in lists)) + 2 # padding
uuid_col_width = max(len("UUID"), max(len(l.listUuid) for l in lists))
print(f"{Color.BOLD}{'Name'.ljust(name_col_width)} {'UUID'.ljust(uuid_col_width)}{Color.END}")
for l in lists:
print(f"{l.name.ljust(name_col_width)} {l.listUuid.ljust(uuid_col_width)}")
if __name__ == "__main__":
asyncio.run(main())