#!/usr/bin/python3

"""Fetch new mail notifications for i3blocks.

Author: flyingscorpio
"""

import argparse
import requests


def parse_cli() -> argparse.Namespace:
    """Parse credentials from the command line."""

    parser = argparse.ArgumentParser()
    parser.add_argument("username")
    parser.add_argument("password")

    return parser.parse_args()


def main(args: argparse.Namespace) -> None:
    """Connect to ProtonMail."""

    with requests.Session() as session:
        main_url = "https://mail.protonmail.com/login"

        req = session.get(main_url)

        req = session.post(
            "https://mail.protonmail.com/api/info",
            data={
                "Username": args.username,
            },
            headers={
                "Referer": main_url,
                "x-pm-apiversion": "3",
                "x-pm-appversion": "Web_3.16.23",
            },
        )
        req_json = req.json()
        print(req_json)

        req = session.post(
            "https://mail.protonmail.com/api/auth",
            data={
                "ClientEphemeral": "",
                "ClientProof": "",
                "SRPSession": req_json["SRPSession"],
                "Username": args.username,
            },
            headers={
                "Referer": main_url,
                "x-pm-apiversion": "3",
                "x-pm-appversion": "Web_3.16.23",
            },
        )


if __name__ == "__main__":
    main(parse_cli())