Skip to content

Commit

Permalink
add slack sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
trisongz committed Dec 15, 2023
1 parent 2eea561 commit b2ead32
Show file tree
Hide file tree
Showing 6 changed files with 654 additions and 1 deletion.
41 changes: 41 additions & 0 deletions lazyops/imports/_slacksdk.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

"""
Import Handler for slack_sdk
"""

from lazyops.utils.imports import resolve_missing, require_missing_wrapper

try:
import slack_sdk
_slack_sdk_available = True
except ImportError:
slack_sdk = object
_slack_sdk_available = False

def resolve_slack_sdk(
required: bool = False,
):
"""
Ensures that `slack_sdk` is available
"""
global slack_sdk, _slack_sdk_available
if not _slack_sdk_available:
resolve_missing('slack_sdk', required = required)
import slack_sdk
_slack_sdk_available = True
globals()['slack_sdk'] = slack_sdk


def require_slack_sdk(
required: bool = False,
):
"""
Wrapper for `resolve_slack_sdk` that can be used as a decorator
"""
def decorator(func):
return require_missing_wrapper(
resolver = resolve_slack_sdk,
func = func,
required = required
)
return decorator
7 changes: 7 additions & 0 deletions lazyops/libs/slack/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""
This package implements the Slack Client API as a unified async/sync client
"""

from .types import SlackContext
from .configs import SlackSettings
from .client import SlackClient, SlackProxy
Loading

0 comments on commit b2ead32

Please sign in to comment.