halib 0.1.28__py3-none-any.whl → 0.1.30__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
halib/tele_noti.py CHANGED
@@ -7,12 +7,14 @@ import telegram
7
7
  import pandas as pd
8
8
 
9
9
  from rich.pretty import pprint
10
+ from rich.console import Console
10
11
  import plotly.graph_objects as go
11
12
 
12
13
  from .system import filesys as fs
13
14
  from .filetype import textfile, csvfile
14
15
 
15
16
  from argparse import ArgumentParser
17
+ tele_console = Console()
16
18
 
17
19
  def parse_args():
18
20
  parser = ArgumentParser(
@@ -82,11 +84,15 @@ def compose_message_and_img_path(
82
84
  ):
83
85
  context_msg = f">> Project: {project} \n>> File: {target_file} \n>> Last {num_last_lines} lines:"
84
86
  msg_df = get_watcher_message_df(target_file, num_last_lines)
85
- img_path = df2img(msg_df, output_img_dir, decimal_places, out_img_scale)
87
+ try:
88
+ img_path = df2img(msg_df, output_img_dir, decimal_places, out_img_scale)
89
+ except Exception as e:
90
+ pprint(f"Error: {e}")
91
+ img_path = None
86
92
  return context_msg, img_path
87
93
 
88
94
 
89
- async def send_to_telegram(cfg_dict):
95
+ async def send_to_telegram(cfg_dict, interval_in_sec):
90
96
  # pprint(cfg_dict)
91
97
  token = cfg_dict["telegram"]["token"]
92
98
  chat_id = cfg_dict["telegram"]["chat_id"]
@@ -110,9 +116,14 @@ async def send_to_telegram(cfg_dict):
110
116
  out_img_scale,
111
117
  output_img_dir,
112
118
  )
113
- pprint('Sending message to telegram...')
119
+ # calculate the next time to send message
120
+ next_time = pd.Timestamp.now() + pd.Timedelta(seconds=interval_in_sec)
121
+ tele_console.rule()
122
+ tele_console.print("[green] Send message to telegram [/green]")
123
+ tele_console.print(f"[red] Next message will be sent at <{next_time}> [/red]")
114
124
  await bot.send_message(text=context_msg, chat_id=chat_id)
115
- await bot.send_photo(chat_id=chat_id, photo=open(img_path, "rb"))
125
+ if img_path:
126
+ await bot.send_photo(chat_id=chat_id, photo=open(img_path, "rb"))
116
127
  except Exception as e:
117
128
  pprint(f'Error: {e}')
118
129
  pprint('Message not sent to telegram')
@@ -125,7 +136,7 @@ async def run_forever(cfg_path):
125
136
  interval_in_sec = int(interval_in_min * 60)
126
137
  pprint(f'Message will be sent every {interval_in_min} minutes or {interval_in_sec} seconds')
127
138
  while True:
128
- await send_to_telegram(cfg_dict)
139
+ await send_to_telegram(cfg_dict, interval_in_sec)
129
140
  await asyncio.sleep(interval_in_sec)
130
141
 
131
142
  async def main():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: halib
3
- Version: 0.1.28
3
+ Version: 0.1.30
4
4
  Summary: Small library for common tasks
5
5
  Author: Hoang Van Ha
6
6
  Author-email: hoangvanhauit@gmail.com
@@ -25,9 +25,14 @@ Requires-Dist: moviepy
25
25
  Requires-Dist: tube-dl
26
26
  Requires-Dist: enlighten
27
27
  Requires-Dist: pycurl
28
+ Requires-Dist: kaleido (==0.1.*)
28
29
 
29
30
  Helper package for coding and automation
30
31
 
32
+ **Version 0.1.29**
33
+
34
+ + for `tele_noti` module, `kaleido==0.1.*` is required for plotly since `kaleido 0.2.*` is not working (taking for ever to generate image)
35
+ ---
31
36
  **Version 0.1.24**
32
37
 
33
38
  + rename `sys` to `system` to avoid conflict with built-in `sys` module
@@ -9,7 +9,7 @@ halib/jsonfile.py,sha256=9XfdFS1wcTdBRmpAGzVu2dVCcJp8RCpsSY16f6KUNts,480
9
9
  halib/listop.py,sha256=Vpa8_2fI0wySpB2-8sfTBkyi_A4FhoFVVvFiuvW8N64,339
10
10
  halib/plot.py,sha256=drLaHL_JVnIeFxsgYYXepJHIECzOmRImX40cWPJJshs,475
11
11
  halib/projectmake.py,sha256=8dNTxB2jgQlwvovaOnJcCKgHe5vM0nBwzm46Yc8INEI,4048
12
- halib/tele_noti.py,sha256=jXMhqbZi1x50mddnDY1ejjoensLZI2z0ctQRClAyFVI,5023
12
+ halib/tele_noti.py,sha256=0FnqKJ53xtsxnSbvOk-c5Pg10b_7r6RCVeD2jM6PdkE,5532
13
13
  halib/textfile.py,sha256=EhVFrit-nRBJx18e6rtIqcE1cSbgsLnMXe_kdhi1EPI,399
14
14
  halib/videofile.py,sha256=NTLTZ-j6YD47duw2LN2p-lDQDglYFP1LpEU_0gzHLdI,4737
15
15
  halib/filetype/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -29,8 +29,8 @@ halib/sys/filesys.py,sha256=ERpnELLDKJoTIIKf-AajgkY62nID4qmqmX5TkE95APU,2931
29
29
  halib/system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  halib/system/cmd.py,sha256=b2x7JPcNnFjLGheIESVYvqAb-w2UwBM1PAwYxMZ5YjA,228
31
31
  halib/system/filesys.py,sha256=ERpnELLDKJoTIIKf-AajgkY62nID4qmqmX5TkE95APU,2931
32
- halib-0.1.28.dist-info/LICENSE.txt,sha256=qZssdna4aETiR8znYsShUjidu-U4jUT9Q-EWNlZ9yBQ,1100
33
- halib-0.1.28.dist-info/METADATA,sha256=y2gBnUzUsY4QY0MGHOUMFi7y6RuA9TnVBKoI0Lh0Wew,2264
34
- halib-0.1.28.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
35
- halib-0.1.28.dist-info/top_level.txt,sha256=7AD6PLaQTreE0Fn44mdZsoHBe_Zdd7GUmjsWPyQ7I-k,6
36
- halib-0.1.28.dist-info/RECORD,,
32
+ halib-0.1.30.dist-info/LICENSE.txt,sha256=qZssdna4aETiR8znYsShUjidu-U4jUT9Q-EWNlZ9yBQ,1100
33
+ halib-0.1.30.dist-info/METADATA,sha256=6TPseOOA1_9B2fPF9HJlYnKsNXyL8ra3od9xtW5BDkA,2460
34
+ halib-0.1.30.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
35
+ halib-0.1.30.dist-info/top_level.txt,sha256=7AD6PLaQTreE0Fn44mdZsoHBe_Zdd7GUmjsWPyQ7I-k,6
36
+ halib-0.1.30.dist-info/RECORD,,
File without changes