Skip to content

tarstall as an API ish

hammy3502 edited this page Jun 1, 2022 · 4 revisions

As of tarstall 1.7, all of tarstall's files can be found in many spots:

tarstall_execs/tarstall: The main tarstall executable. Handles nearly all of user interaction.

prog_manage.py: Handles the majority of tarstall's operations.

config.py: A helper for prog_manage.py (mainly), handling things such as file management, managing things in the database, and other configuration/file I/O functions.

generic.py: A helper for tarstall's interaction with the end-user. Partially an extension of tarstall_execs/tarstall and partially a generic helper for user interaction. It mainly asks users questions and tracks installation progress of programs with progress().

Writing a Frontend:

If, for some reason, you want to create a frontend for tarstall, tarstall is now built (as of 1.3), to support that! Every function in tarstall has docstrings, allowing you to easily determine what a function does. When writing a frontend, you'll want to basically rewrite tarstall_execs/tarstall and generic*.py (except for generic_manage.py). You'll want to mostly, if not entirely, make calls to prog_manage.py, tarstall_manage.py, and config.py, calling functions such as install(), pathify(), and more. Any database information can be grabbed from config.py. Put simply: tarstall_execs/tarstall and generic*.py act as the frontend, while *_manage.py and config.py act as the backend.

Clone this wiki locally