aboutsummaryrefslogtreecommitdiffstats
path: root/slack/commands.py
diff options
context:
space:
mode:
authorTrygve Aaberge <trygveaa@gmail.com>2023-01-28 21:53:10 +0100
committerTrygve Aaberge <trygveaa@gmail.com>2024-02-18 11:32:53 +0100
commit7ab59b24a43b1219aac5caba59188934bdf69e09 (patch)
treeb0ca59ccea032f7d714e174788ce39cd84e1a90f /slack/commands.py
parent584a580243c4bb246b15e07928a6561047de9e9b (diff)
downloadwee-slack-7ab59b24a43b1219aac5caba59188934bdf69e09.tar.gz
Fix compatibility with Python 3.8
Diffstat (limited to 'slack/commands.py')
-rw-r--r--slack/commands.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/slack/commands.py b/slack/commands.py
index 41abbde..b4bb1b5 100644
--- a/slack/commands.py
+++ b/slack/commands.py
@@ -9,6 +9,7 @@ from typing import Any, Callable, Dict, List, Optional, Tuple
import weechat
from slack.log import print_error
+from slack.python_compatibility import removeprefix, removesuffix
from slack.shared import shared
from slack.slack_conversation import (
SlackConversation,
@@ -54,7 +55,7 @@ def weechat_command(
completion: str = "", min_args: int = 0, slack_buffer_required: bool = False
):
def decorator(f: Callable[[str, List[str], Dict[str, Optional[str]]], None]):
- cmd = f.__name__.removeprefix("command_").replace("_", " ")
+ cmd = removeprefix(f.__name__, "command_").replace("_", " ")
top_level = " " not in cmd
@wraps(f)
@@ -286,13 +287,13 @@ def completion_slack_workspace_commands_cb(
base_command = weechat.completion_get_string(completion, "base_command")
base_word = weechat.completion_get_string(completion, "base_word")
args = weechat.completion_get_string(completion, "args")
- args_without_base_word = args.removesuffix(base_word)
+ args_without_base_word = removesuffix(args, base_word)
found_cmd_with_args = find_command(base_command, args_without_base_word)
if found_cmd_with_args:
command = found_cmd_with_args[0]
matching_cmds = [
- cmd.removeprefix(command.cmd).lstrip()
+ removeprefix(cmd, command.cmd).lstrip()
for cmd in commands
if cmd.startswith(command.cmd) and cmd != command.cmd
]
@@ -327,7 +328,7 @@ def complete_input(conversation: SlackConversation, query: str):
input_value = weechat.buffer_get_string(conversation.buffer_pointer, "input")
input_pos = weechat.buffer_get_integer(conversation.buffer_pointer, "input_pos")
result = conversation.completion_values[conversation.completion_index]
- input_before = input_value[:input_pos].removesuffix(query)
+ input_before = removesuffix(input_value[:input_pos], query)
input_after = input_value[input_pos:]
new_input = input_before + result + input_after
new_pos = input_pos - len(query) + len(result)