;idZddlZddlmZ ddlmZn#e$r edwxYwddlmZ dd l m Z d d d giZ gd Z Gdde ZGdde ZdZeZeZdS)z Sends updates to a Slack app. Usage: >>> from tqdm.contrib.slack import tqdm, trange >>> for i in trange(10, token='{token}', channel='{channel}'): ... ... ![screenshot](https://tqdm.github.io/img/screenshot-slack.png) N)getenv) WebClientzPlease `pip install slack-sdk`)tqdm) MonoWorkerz github.com/ 0x2b3bfa0 casperdcl)SlackIO tqdm_slacktsrangertrangec(eZdZdZfdZdZxZS)r z,Non-blocking file-like IO using a Slack app.cbtt||_|jj|_ |j||j|_dS#t$r3}tj t|d|_Yd}~dSd}~wwxYw)z-Creates a new message in the given `channel`.)token)channeltextN) super__init__rclient __class____name__rchat_postMessagemessage Exception tqdm_autowritestr)selfrrers FC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\tqdm/contrib/slack.pyrzSlackIO.__init__s e,,, N+  ;77di7XXDLLL   OCFF # # #DLLLLLLL s &A11 B.;(B))B.cz|sd}|dd}||jkrdS|j}|dS||_ ||jj|d|dd|zdz}|S#t$r,}tj t|Yd}~dSd}~wwxYw) z,Replaces internal `message`'s text with `s`.z... Nrts`)rr%r) replacestriprrsubmitr chat_updaterrrr)rsrfuturer s r!rz SlackIO.write's A IIdB   % % ' '  >> F, ? F  [[!8')BT$+DMa# !GGF M $ $ $ OCFF # # # # # # # # # $s 5B B:!B55B:)r __module__ __qualname____doc__rr __classcell__rs@r!r r sM66      r c6eZdZdZfdZfdZfdZxZS)r a Standard `tqdm.auto.tqdm` but also sends updates to a Slack app. May take a few seconds to create (`__init__`). - create a Slack app with the `chat:write` scope & invite it to a channel: - copy the bot `{token}` & `{channel}` and paste below >>> from tqdm.contrib.slack import tqdm, trange >>> for i in tqdm(iterable, token='{token}', channel='{channel}'): ... ... c |ds|}tjdtjt |dtd|dtd|_ td|dd|d<tj |i|d S) a Parameters ---------- token : str, required. Slack token [default: ${TQDM_SLACK_TOKEN}]. channel : int, required. Slack channel [default: ${TQDM_SLACK_CHANNEL}]. mininterval : float, optional. Minimum of [default: 1.5] to avoid rate limit. See `tqdm.auto.tqdm.__init__` for other parameters. disable HTTPClientrTQDM_SLACK_TOKENrTQDM_SLACK_CHANNELg? minintervalN) getcopylogging getLoggersetLevelWARNINGr poprsiomaxrrrargskwargsrs r!rztqdm_slack.__init__Gszz)$$ M[[]]F  l + + 4 4W_ E E E 7F+=$>$>?? 9f-A&B&BCCEEDH%(VZZ s-K-K$L$LF= !$)&)))))r2c \tjd i||j}|ddr4|ddddd|d<nd|d<|ddur gd |d<d |d <|j|jd i|dS) N bar_formatzz `{bar:10}`z{bar}z `{bar:10u}`z{l_bar}`{bar:10}`{r_bar}asciiF)z:black_square:z:small_blue_diamond:z:large_blue_diamond:z:large_blue_square:iPncols)rdisplay format_dictr:r'rAr format_meter)rrEfmtrs r!rKztqdm_slack.display]s!!&!!! 77< & & ; #L 1 9 9,!(!((/(G(G   !;C  w<5 333CLCL (t(//3//00000r2ctj|i||js|jddSdS)Nr$)rclearr5rArrCs r!rPztqdm_slack.clearksL t&v&&&|  HNN2       r2)rr-r.r/rrKrPr0r1s@r!r r ;st  *****, 1 1 1 1 1r2r c*tt|fi|S)z?Shortcut for `tqdm.contrib.slack.tqdm(range(*args), **kwargs)`.)r range)rDrEs r!r r qs eTl - -f - --r2)r/r<osr slack_sdkr ImportErrorautorr utils_workerr __author____all__r r r rrJr2r!rZs'  8#######888 +6 7 778%$$$$$$$$$$$k;7 8 @ @ @jB33333333l...  s&