TaskFormatter/python_task_formatter/README.md
hhftechnologies 15d7215af1 update
2024-11-24 21:42:21 +05:30

73 lines
2.4 KiB
Markdown

# Formatter and Example
This project demonstrates the use of a Python decorator to format the output of functions, showing a running spinner, and indicating success or failure with colored and formatted text. It includes two files: `formatter.py` and `example.py`.
## Install
`pip install TaskFormatter`
## Example Output
![](https://github.com/seanssmith/CLI-Formatter/blob/main/python_task_importer/pythonformatterexample.gif)
## Files
1. **formatter.py**: This file contains the `format_output` decorator that provides the desired formatting for function output.
2. **example.py**: This file demonstrates how to use the `format_output` decorator by applying it to two example functions, one that succeeds and one that fails.
## Features
- **Spinner Animation**: Displays a spinner animation while the function is running.
- **Success/Failure Indication**: Shows a green checkmark for successful completion and a red cross for failures.
- **Exception Handling**: Exceptions are displayed in red and underlined.
- **Function Numbering**: Each function is prefixed with a unique number.
- **Text Formatting**: Function names are displayed in bold and underlined.
- **Separation of Outputs**: Outputs from different functions are separated by a line for clarity.
## Usage
### 1. formatter.py
The `format_output` decorator is defined in this file. It wraps a function to display the running spinner, success/failure message, and handle exceptions.
### 2. example.py
The `example.py` file demonstrates the use of the `format_output` decorator. It includes two functions, one that succeeds and one that fails, to showcase the decorator's functionality.
```
from TaskFormatter import format_output
from time import sleep
@format_output
def successful_function():
print("Starting")
sleep(2)
print("Function logic output")
@format_output
def failing_function():
print("Just Started")
sleep(2)
print("Running")
sleep(2)
print("Done")
raise ValueError("Custom Error")
if __name__ == "__main__":
successful_function()
try:
failing_function()
except Exception as e:
print("Caught an exception: ", e)
```
## Running the Example
1. Save formatter.py and example.py in the same directory.
2. Run example.py using the command:
```
python example.py
```
You should see the spinner, success, and failure messages formatted as described, with appropriate separation and formatting for each function's output.