This pull request focuses on improving the documentation and readability of the Webex meme bot application by adding docstrings and minor formatting adjustments. Here's a breakdown of the changes:
* **Docstrings:**
* Added module-level docstrings to `app/close.py`, `app/img.py`, and `app/main.py` providing a high-level overview of the purpose of each module.
* Added docstrings to classes (`ExitCommand`, `MakeMemeCommand`, `MakeMemeCallback`) describing their role.
* Added docstrings to methods within those classes (`__init__`, `pre_execute`, `execute`, `post_execute`) explaining their functionality, arguments, and return values where applicable. The `get_templates` and `format_meme_string` functions in `app/img.py` have been documented as well.
* **Formatting:**
* Added a line break before the return type annotation in function definitions (e.g., `def execute(...) -> Response:`).
* Added the disable comment `# pylint: disable=line-too-long` to a line in `app/meme.py` to disable pylint for that line.
* Added the disable comment `# pylint: disable=unused-argument` to the `pre_execute`, `execute`, and `post_execute` methods to disable pylint checks about unused arguments. This is because these methods are part of an interface and must have the same signature even if some arguments are unused.
* **Variable Naming:**
* Renamed the `vars` dictionary to `env_vars` in `tests/test_config.py` for better clarity.
* **Test Update:**
* Added a docstring to the `test_config` function in `tests/test_config.py` to explain its functionality.
* **Imports Update:**
* Updated imports in `tests/test_config.py` to disable pylint for wrong-import-position errors using `# pylint: disable=wrong-import-position`.
In essence, these changes enhance the maintainability and understandability of the codebase through comprehensive documentation and minor code style improvements.
Reviewed-on: #487
34 lines
762 B
Python
34 lines
762 B
Python
#!/usr/local/bin/python3
|
|
|
|
"""Main entry point for the Webex Bot application."""
|
|
|
|
from webex_bot.webex_bot import WebexBot
|
|
|
|
from app import close, meme
|
|
from app.config import config
|
|
|
|
|
|
def create_bot() -> WebexBot:
|
|
"""Create a Bot object."""
|
|
bot = WebexBot(
|
|
teams_bot_token=config.webex_token,
|
|
approved_domains=["cisco.com"],
|
|
bot_name="MemeBot",
|
|
include_demo_commands=False,
|
|
)
|
|
return bot
|
|
|
|
|
|
def main() -> None:
|
|
"""Main function to run the Webex Bot."""
|
|
bot: WebexBot = create_bot()
|
|
bot.add_command(meme.MakeMemeCommand())
|
|
bot.add_command(close.ExitCommand())
|
|
bot.commands.remove(bot.help_command)
|
|
bot.help_command = meme.MakeMemeCommand()
|
|
bot.run()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|