diff options
Diffstat (limited to 'python-telegram-handler.spec')
-rw-r--r-- | python-telegram-handler.spec | 341 |
1 files changed, 341 insertions, 0 deletions
diff --git a/python-telegram-handler.spec b/python-telegram-handler.spec new file mode 100644 index 0000000..bbbc010 --- /dev/null +++ b/python-telegram-handler.spec @@ -0,0 +1,341 @@ +%global _empty_manifest_terminate_build 0 +Name: python-telegram-handler +Version: 1.4.4 +Release: 1 +Summary: Small package for working with config files +License: MIT License +URL: https://github.com/guyshe/telegram_handler +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2e/bf/349e55b84e28aecaf79fe4c6db863406f245d12dbdb012734d447919dccf/telegram-handler-1.4.4.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-retry + +%description +# telegram_handler +Telegram logging handler for logging library in python. + +The Telegram log handler sends log messages directly to either a Telegram channel or chat of your choice. + +## Installation +`pip install telegram-handler` + + +## Motivation +Tracking program execution state remotely - directly from your Telegram account. + +## Screenshots + + +## Code Examples +Basic usage example: +```python +import logging + +from telegram_handler import TelegramLoggingHandler + +BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8' +CHANNEL_NAME = 'example_channel_logger' + + +def main(): + telegram_log_handler = TelegramLoggingHandler(BOT_TOKEN, CHANNEL_NAME) + my_logger = logging.getLogger('My-Logger') + my_logger.setLevel(logging.INFO) + my_logger.addHandler(logging.StreamHandler()) + my_logger.addHandler(telegram_log_handler) + + for i in range(5): + my_logger.error(f'iterating {i}..') + + +if __name__ == '__main__': + main() +``` + +Another option is to add the handler to the root logger: +```python +import logging + +from telegram_handler import TelegramLoggingHandler + +BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8' +CHANNEL_NAME = 'example_channel_logger' + + +def main(): + telegram_log_handler = TelegramLoggingHandler(BOT_TOKEN, CHANNEL_NAME) + logging.basicConfig( + handlers = [ + telegram_log_handler + ], + level=logging.INFO, + format='%(asctime)s | %(levelname)s | %(name)s | %(message)s' + ) + my_logger = logging.getLogger('My-Logger') + for i in range(5): + my_logger.error(f'iterating {i}..') + + +if __name__ == '__main__': + main() + +``` + + +## Preparation +In order to use the package you should: +- Create a bot, you can see how this is done + [here](https://core.telegram.org/bots#3-how-do-i-create-a-bot). +- Create a channel, you can see how this is done + [here](https://www.logaster.com/blog/how-create-telegram-channel/). + +## How to use? +- Use `TelegramLoggingHandler` and send messages from a different thread (__recommended__) + +### Parameters: +- `bot_token` - The token that returns from the `BotFather` when creating the bot. + +- `channel_name` - Each chat in Telegram have `chat ID`. + - Channel name is the `chat ID` for public channels. + So for the __public channel__ `example_channel_logger` the `chat id` will be `example_channel_logger` + - The `channel_name` can be any `chat id`, you can see how to obtain chat id + [here](http://techblog.sillifish.co.uk/2020/03/30/telegram-chat-id-and-token-id/). + + +%package -n python3-telegram-handler +Summary: Small package for working with config files +Provides: python-telegram-handler +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-telegram-handler +# telegram_handler +Telegram logging handler for logging library in python. + +The Telegram log handler sends log messages directly to either a Telegram channel or chat of your choice. + +## Installation +`pip install telegram-handler` + + +## Motivation +Tracking program execution state remotely - directly from your Telegram account. + +## Screenshots + + +## Code Examples +Basic usage example: +```python +import logging + +from telegram_handler import TelegramLoggingHandler + +BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8' +CHANNEL_NAME = 'example_channel_logger' + + +def main(): + telegram_log_handler = TelegramLoggingHandler(BOT_TOKEN, CHANNEL_NAME) + my_logger = logging.getLogger('My-Logger') + my_logger.setLevel(logging.INFO) + my_logger.addHandler(logging.StreamHandler()) + my_logger.addHandler(telegram_log_handler) + + for i in range(5): + my_logger.error(f'iterating {i}..') + + +if __name__ == '__main__': + main() +``` + +Another option is to add the handler to the root logger: +```python +import logging + +from telegram_handler import TelegramLoggingHandler + +BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8' +CHANNEL_NAME = 'example_channel_logger' + + +def main(): + telegram_log_handler = TelegramLoggingHandler(BOT_TOKEN, CHANNEL_NAME) + logging.basicConfig( + handlers = [ + telegram_log_handler + ], + level=logging.INFO, + format='%(asctime)s | %(levelname)s | %(name)s | %(message)s' + ) + my_logger = logging.getLogger('My-Logger') + for i in range(5): + my_logger.error(f'iterating {i}..') + + +if __name__ == '__main__': + main() + +``` + + +## Preparation +In order to use the package you should: +- Create a bot, you can see how this is done + [here](https://core.telegram.org/bots#3-how-do-i-create-a-bot). +- Create a channel, you can see how this is done + [here](https://www.logaster.com/blog/how-create-telegram-channel/). + +## How to use? +- Use `TelegramLoggingHandler` and send messages from a different thread (__recommended__) + +### Parameters: +- `bot_token` - The token that returns from the `BotFather` when creating the bot. + +- `channel_name` - Each chat in Telegram have `chat ID`. + - Channel name is the `chat ID` for public channels. + So for the __public channel__ `example_channel_logger` the `chat id` will be `example_channel_logger` + - The `channel_name` can be any `chat id`, you can see how to obtain chat id + [here](http://techblog.sillifish.co.uk/2020/03/30/telegram-chat-id-and-token-id/). + + +%package help +Summary: Development documents and examples for telegram-handler +Provides: python3-telegram-handler-doc +%description help +# telegram_handler +Telegram logging handler for logging library in python. + +The Telegram log handler sends log messages directly to either a Telegram channel or chat of your choice. + +## Installation +`pip install telegram-handler` + + +## Motivation +Tracking program execution state remotely - directly from your Telegram account. + +## Screenshots + + +## Code Examples +Basic usage example: +```python +import logging + +from telegram_handler import TelegramLoggingHandler + +BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8' +CHANNEL_NAME = 'example_channel_logger' + + +def main(): + telegram_log_handler = TelegramLoggingHandler(BOT_TOKEN, CHANNEL_NAME) + my_logger = logging.getLogger('My-Logger') + my_logger.setLevel(logging.INFO) + my_logger.addHandler(logging.StreamHandler()) + my_logger.addHandler(telegram_log_handler) + + for i in range(5): + my_logger.error(f'iterating {i}..') + + +if __name__ == '__main__': + main() +``` + +Another option is to add the handler to the root logger: +```python +import logging + +from telegram_handler import TelegramLoggingHandler + +BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8' +CHANNEL_NAME = 'example_channel_logger' + + +def main(): + telegram_log_handler = TelegramLoggingHandler(BOT_TOKEN, CHANNEL_NAME) + logging.basicConfig( + handlers = [ + telegram_log_handler + ], + level=logging.INFO, + format='%(asctime)s | %(levelname)s | %(name)s | %(message)s' + ) + my_logger = logging.getLogger('My-Logger') + for i in range(5): + my_logger.error(f'iterating {i}..') + + +if __name__ == '__main__': + main() + +``` + + +## Preparation +In order to use the package you should: +- Create a bot, you can see how this is done + [here](https://core.telegram.org/bots#3-how-do-i-create-a-bot). +- Create a channel, you can see how this is done + [here](https://www.logaster.com/blog/how-create-telegram-channel/). + +## How to use? +- Use `TelegramLoggingHandler` and send messages from a different thread (__recommended__) + +### Parameters: +- `bot_token` - The token that returns from the `BotFather` when creating the bot. + +- `channel_name` - Each chat in Telegram have `chat ID`. + - Channel name is the `chat ID` for public channels. + So for the __public channel__ `example_channel_logger` the `chat id` will be `example_channel_logger` + - The `channel_name` can be any `chat id`, you can see how to obtain chat id + [here](http://techblog.sillifish.co.uk/2020/03/30/telegram-chat-id-and-token-id/). + + +%prep +%autosetup -n telegram-handler-1.4.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-telegram-handler -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.4-1 +- Package Spec generated |