Searching for programs

It is possible to search through programs, by:

For example:

from __future__ import annotations

import asyncio

from planetcasio.client import Client
from planetcasio.programs import ProgramType


async def main() -> None:
    async with Client() as client:
        async for program in client.programs.search(
            type_=ProgramType.UTILITIES_ADDINS,
        ):
            print(program)
            break


asyncio.run(main())

Note

The Programs.search() method will only provide you with some basic metadata regarding programs, represented by BaseProgram. If you want more information regarding a specific program, you must call Programs.get(), e.g.:

from __future__ import annotations

import asyncio

from planetcasio.client import Client
from planetcasio.programs import ProgramType


async def main() -> None:
    async with Client() as client:
        async for base_program in client.programs.search(
            type_=ProgramType.UTILITIES_ADDINS,
        ):
            program = await client.programs.get(base_program.id_)
            for file_details in program.files:
                print(program.id_, "=>", file_details.url)

            break


asyncio.run(main())