diff --git a/.github/workflows/telegram_notify_comments.yml b/.github/workflows/telegram_notify_comments.yml
new file mode 100644
index 00000000..a7658abd
--- /dev/null
+++ b/.github/workflows/telegram_notify_comments.yml
@@ -0,0 +1,25 @@
+name: Telegram Notifications
+
+on:
+
+ issue_comment:
+ types: [created]
+
+jobs:
+ notify:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Send notifications to Telegram
+ run: >
+ curl -s
+ -X POST https://api.telegram.org/bot${{ secrets.TELEGRAM_NOTIFIER_BOT_TOKEN }}/sendMessage
+ -d chat_id=${{ secrets.TELEGRAM_ALBERT_CHAT_ID }}
+ -d text="${MESSAGE}"
+ -d parse_mode=HTML
+ -d disable_web_page_preview=true
+ >> /dev/null
+ env:
+ MESSAGE: "${{ github.event.comment.user.login }} on ${{ github.event.repository.name }}#${{ github.event.issue.number }}: ${{ github.event.issue.title }}%0A${{ github.event.comment.body }}"
+
diff --git a/.github/workflows/telegram_notify_issues.yml b/.github/workflows/telegram_notify_issues.yml
index 533f66b9..dfcc0ab4 100644
--- a/.github/workflows/telegram_notify_issues.yml
+++ b/.github/workflows/telegram_notify_issues.yml
@@ -2,7 +2,7 @@ name: Telegram Notifications
on:
issues:
- types: [opened, reopened, deleted, closed]
+ types: [opened, reopened]
jobs:
notify:
@@ -11,6 +11,14 @@ jobs:
steps:
- name: Send notifications to Telegram
- run: curl -s -X POST https://api.telegram.org/bot${{ secrets.TELEGRAM_NOTIFIER_BOT_TOKEN }}/sendMessage -d chat_id=${{ secrets.TELEGRAM_ALBERT_CHAT_ID }} -d text="${MESSAGE}" >> /dev/null
+ run: >
+ curl -s
+ -X POST https://api.telegram.org/bot${{ secrets.TELEGRAM_NOTIFIER_BOT_TOKEN }}/sendMessage
+ -d chat_id=${{ secrets.TELEGRAM_ALBERT_CHAT_ID }}
+ -d text="${MESSAGE}"
+ -d parse_mode=HTML
+ -d disable_web_page_preview=true
+ >> /dev/null
env:
- MESSAGE: "Issue ${{ github.event.action }}: \n${{ github.event.issue.html_url }}"
+ MESSAGE: "New issue:%0A${{ github.event.repository.name }}#${{ github.event.issue.number }}: ${{ github.event.issue.title }}"
+
diff --git a/arch_wiki/__init__.py b/arch_wiki/__init__.py
index f6474431..0c531506 100644
--- a/arch_wiki/__init__.py
+++ b/arch_wiki/__init__.py
@@ -7,8 +7,8 @@
import json
import os
-md_iid = "0.5"
-md_version = "1.2"
+md_iid = '1.0'
+md_version = "1.3"
md_name = "ArchLinux Wiki"
md_description = "Search ArchLinux Wiki articles"
md_license = "BSD-3"
@@ -16,7 +16,7 @@
md_maintainers = "@manuelschneid3r"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
icon = [os.path.dirname(__file__) + "/ArchWiki.svg"]
baseurl = 'https://wiki.archlinux.org/api.php'
@@ -35,7 +35,7 @@ def description(self):
def defaultTrigger(self):
return "awiki "
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
stripped = query.string.strip()
if stripped:
diff --git a/aur/__init__.py b/aur/__init__.py
index 9a5f3a5b..6d9e6c13 100644
--- a/aur/__init__.py
+++ b/aur/__init__.py
@@ -14,8 +14,8 @@
import json
import os
-md_iid = "0.5"
-md_version = "1.6"
+md_iid = '1.0'
+md_version = "1.7"
md_name = "AUR"
md_description = "Query and install AUR packages"
md_license = "BSD-3"
@@ -23,7 +23,7 @@
md_maintainers = "@manuelschneid3r"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
aur_url = "https://aur.archlinux.org/packages/"
baseurl = 'https://aur.archlinux.org/rpc/'
@@ -55,7 +55,7 @@ def initialize(self):
info("No supported AUR helper found.")
self.install_cmdline = None
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
for number in range(50):
sleep(0.01)
if not query.isValid:
diff --git a/bitwarden/__init__.py b/bitwarden/__init__.py
index 3f482cfa..0185358b 100644
--- a/bitwarden/__init__.py
+++ b/bitwarden/__init__.py
@@ -5,8 +5,8 @@
from albert import *
-md_iid = "0.5"
-md_version = "1.1"
+md_iid = '1.0'
+md_version = "1.2"
md_name = "Bitwarden"
md_description = "'rbw' wrapper extension"
md_license = "BSD-3"
@@ -15,7 +15,7 @@
md_credits = "Original author: @tylio"
md_bin_dependencies = ["rbw"]
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self):
return md_id
@@ -51,7 +51,7 @@ def _get_passwords(self):
return passwords
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
if query.string.strip().lower() == "unlock":
query.add(
Item(
diff --git a/copyq/__init__.py b/copyq/__init__.py
index fa1104c0..7c241b55 100644
--- a/copyq/__init__.py
+++ b/copyq/__init__.py
@@ -5,8 +5,8 @@
from albert import *
-md_iid = "0.5"
-md_version = "1.2"
+md_iid = '1.0'
+md_version = "1.3"
md_name = "CopyQ"
md_description = "Access CopyQ clipboard"
md_license = "BSD-2-Clause"
@@ -45,7 +45,7 @@
"""
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self):
return md_id
@@ -61,7 +61,7 @@ def synopsis(self):
def defaultTrigger(self):
return "cq "
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
items = []
q_string = query.string
diff --git a/dice_roll/__init__.py b/dice_roll/__init__.py
index 4606d541..944e054c 100644
--- a/dice_roll/__init__.py
+++ b/dice_roll/__init__.py
@@ -14,8 +14,8 @@
Example: "roll 2d6 3d8 1d20"
"""
-md_iid = "0.5"
-md_version = "1.0"
+md_iid = '1.0'
+md_version = "1.1"
md_name = "Dice Roll"
md_description = "Roll any number of dice"
md_license = "MIT"
@@ -128,7 +128,7 @@ def get_items(query_string: str) -> list[albert.Item]:
return results
-class Plugin(albert.QueryHandler):
+class Plugin(albert.TriggerQueryHandler):
"""A plugin to roll dice"""
def id(self) -> str:
@@ -146,7 +146,7 @@ def synopsis(self) -> str:
def defaultTrigger(self) -> str:
return "roll "
- def handleQuery(self, query: albert.Query) -> None:
+ def handleTriggerQuery(self, query: albert.TriggerQuery) -> None:
query_string = query.string.strip()
try:
items = get_items(query_string)
diff --git a/docker/__init__.py b/docker/__init__.py
index a6f2ec28..eb8fb412 100644
--- a/docker/__init__.py
+++ b/docker/__init__.py
@@ -8,8 +8,8 @@
import pathlib
import docker
-md_iid = "0.5"
-md_version = "1.3"
+md_iid = "1.0"
+md_version = "1.4"
md_name = "Docker"
md_description = "Control your docker instance"
md_license = "BSD-3"
@@ -41,43 +41,55 @@ def initialize(self):
if not self.client:
raise "Failed to initialize client."
+ def handleGlobalQuery(self, query):
+ rank_items = []
- def handleQuery(self, query):
for container in self.client.containers.list(all=True):
+ if query.string in container.name:
+ # Create dynamic actions
+ if container.status == 'running':
+ actions = [
+ Action("stop", "Stop container", lambda c=container: c.stop()),
+ Action("restart", "Restart container", lambda c=container: c.restart())
+ ]
+ else:
+ actions = [
+ Action("start", "Start container", lambda c=container: c.start())
+ ]
+ actions.extend([
+ Action("logs", "Logs", lambda c=container.id: runTerminal("docker logs -f %s" % c, close_on_exit=False)),
+ Action("remove", "Remove (forced, with volumes)", lambda c=container: c.remove(v=True, force=True)),
+ Action("copy-id", "Copy id to clipboard", lambda id=container.id: setClipboardText(id))
+ ])
- # Create dynamic actions
- if container.status == 'running':
- actions = [
- Action("stop", "Stop container", lambda c=container: c.stop()),
- Action("restart", "Restart container", lambda c=container: c.restart())
- ]
- else:
- actions = [
- Action("start", "Start container", lambda c=container: c.start())
- ]
- actions.extend([
- Action("logs", "Logs", lambda c=container.id: runTerminal("docker logs -f %s" % c, close_on_exit=False)),
- Action("remove", "Remove (forced, with volumes)", lambda c=container: c.remove(v=True, force=True)),
- Action("copy-id", "Copy id to clipboard", lambda id=container.id: setClipboardText(id))
- ])
-
- query.add(Item(
- id=container.id,
- text="%s (%s)" % (container.name, ", ".join(container.image.tags)),
- subtext=container.id,
- icon=self.icon_running if container.status == 'running' else self.icon_stopped,
- actions=actions
- ))
+ rank_items.append(RankItem(
+ item=Item(
+ id=container.id,
+ text="%s (%s)" % (container.name, ", ".join(container.image.tags)),
+ subtext="Container: %s" % container.id,
+ icon=self.icon_running if container.status == 'running' else self.icon_stopped,
+ actions=actions
+ ),
+ score=0 # len(query.string)/len(container.name)
+ ))
for image in reversed(self.client.images.list()):
- query.add(Item(
- id=image.short_id,
- text=str(image.tags),
- subtext=image.id,
- icon=self.icon_stopped,
- actions=[
- Action("run", "Run with command: %s" % query.string,
- lambda i=image, s=query.string: client.containers.run(i, s)),
- Action("rmi", "Remove image", lambda i=image: i.remove())
- ]
- ))
+ if any([query.string in tag for tag in image.tags]):
+ rank_items.append(RankItem(
+ item=Item(
+ id=image.short_id,
+ text=", ".join(image.tags),
+ subtext="Image: %s" % image.id,
+ icon=self.icon_stopped,
+ actions=[
+ Action("run", "Run with command: %s" % query.string,
+ lambda i=image, s=query.string: client.containers.run(i, s)),
+ Action("rmi", "Remove image", lambda i=image: i.remove())
+ ]
+ ),
+ score=0
+ ))
+
+
+ return rank_items
+
diff --git a/emoji/__init__.py b/emoji/__init__.py
index e8df5a88..6e79c0c9 100644
--- a/emoji/__init__.py
+++ b/emoji/__init__.py
@@ -10,11 +10,10 @@
from concurrent.futures import ThreadPoolExecutor
from itertools import islice
from pathlib import Path
+from albert import *
-from albert import Action, Item, QueryHandler, cacheLocation, setClipboardText
-
-md_iid = "0.5"
-md_version = "1.0"
+md_iid = '1.0'
+md_version = "1.2"
md_name = "Emoji Picker"
md_description = "Find emojis by name"
md_license = "GPL-3.0"
@@ -60,7 +59,7 @@ def schedule_create_missing_icons(emojis):
return executor
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self):
return __name__
@@ -126,7 +125,7 @@ def matched_emojis(self, query_tokens):
yield emoji
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
query_tokens = query.string.strip().lower().split()
if not query_tokens:
return
diff --git a/goldendict/__init__.py b/goldendict/__init__.py
index 6f9c516f..c1bbd3db 100644
--- a/goldendict/__init__.py
+++ b/goldendict/__init__.py
@@ -1,7 +1,7 @@
-from albert import Action, Item, Query, QueryHandler, runDetachedProcess # pylint: disable=import-error
+from albert import Action, Item, TriggerQuery, TriggerQueryHandler, runDetachedProcess # pylint: disable=import-error
-md_iid = '0.5'
-md_version = '1.1'
+md_iid = '1.0'
+md_version = '1.2'
md_name = 'GoldenDict'
md_description = 'Searches in GoldenDict'
md_url = 'https://github.com/albertlauncher/python/'
@@ -12,7 +12,7 @@
ICON_PATH = '/usr/share/pixmaps/goldendict.png'
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self) -> str:
return __name__
@@ -28,7 +28,7 @@ def defaultTrigger(self) -> str:
def synopsis(self) -> str:
return 'query'
- def handleQuery(self, query: Query) -> None:
+ def handleTriggerQuery(self, query: TriggerQuery) -> None:
query_str = query.string.strip()
if not query_str:
return
diff --git a/googletrans/__init__.py b/googletrans/__init__.py
index c89f7c54..65e3873d 100644
--- a/googletrans/__init__.py
+++ b/googletrans/__init__.py
@@ -10,8 +10,8 @@
from time import sleep
import os
-md_iid = "0.5"
-md_version = "1.0"
+md_iid = '1.0'
+md_version = "1.1"
md_name = "Google Translate"
md_description = "Translate sentences using googletrans"
md_license = "BSD-3"
@@ -19,7 +19,7 @@
md_lib_dependencies = "googletrans==3.1.0a0"
md_maintainers = "@manuelschneid3r"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self):
return md_id
@@ -41,7 +41,7 @@ def initialize(self):
self.translator = Translator()
self.lang = getdefaultlocale()[0][0:2]
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
stripped = query.string.strip()
if stripped:
for number in range(50):
diff --git a/jetbrains_projects/__init__.py b/jetbrains_projects/__init__.py
index 48f3b5d4..43ca93cc 100644
--- a/jetbrains_projects/__init__.py
+++ b/jetbrains_projects/__init__.py
@@ -15,8 +15,8 @@
from xml.etree import ElementTree
from albert import *
-md_iid = "0.5"
-md_version = "1.2"
+md_iid = '1.0'
+md_version = "1.3"
md_name = "Jetbrains projects"
md_description = "Open your JetBrains projects"
md_license = "GPL-3"
@@ -82,7 +82,7 @@ def _parse_recent_projects(self, recent_projects_file: Path) -> list[Project]:
return []
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
executables = []
def id(self):
@@ -161,7 +161,7 @@ def initialize(self):
]
self.editors = [e for e in editors if e.binary is not None]
- def handleQuery(self, query: Query):
+ def handleTriggerQuery(self, query: TriggerQuery):
editor_project_pairs = []
for editor in self.editors:
projects = editor.list_projects()
@@ -174,7 +174,7 @@ def handleQuery(self, query: Query):
query.add([self._make_item(editor, project, query) for editor, project in editor_project_pairs])
- def _make_item(self, editor: Editor, project: Project, query: Query) -> Item:
+ def _make_item(self, editor: Editor, project: Project, query: TriggerQuery) -> Item:
return Item(
id="%s-%s-%s" % (editor.binary, project.path, project.last_opened),
text=project.name,
diff --git a/kill/__init__.py b/kill/__init__.py
index 4ed37d4b..7aec13c8 100644
--- a/kill/__init__.py
+++ b/kill/__init__.py
@@ -5,8 +5,8 @@
from albert import *
-md_iid = "0.5"
-md_version = "1.1"
+md_iid = '1.0'
+md_version = "1.2"
md_name = "Kill Process"
md_description = "Kill processes"
md_license = "BSD-3"
@@ -15,7 +15,7 @@
md_credits = "Original idea by Benedict Dudel & Manuel Schneider"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
icon_path = "xdg:process-stop"
def id(self):
@@ -33,7 +33,7 @@ def initialize(self):
def defaultTrigger(self):
return "kill "
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
if not query.isValid:
return
results = []
diff --git a/locate/__init__.py b/locate/__init__.py
index 180e76a5..40fef9bb 100644
--- a/locate/__init__.py
+++ b/locate/__init__.py
@@ -13,8 +13,8 @@
import shlex
import subprocess
-md_iid = "0.5"
-md_version = "1.7"
+md_iid = '1.0'
+md_version = "1.8"
md_name = "Locate"
md_description = "Find and open files using locate"
md_license = "BSD-3"
@@ -22,7 +22,7 @@
md_bin_dependencies = "locate"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self):
return md_id
@@ -48,7 +48,7 @@ def initialize(self):
str(pathlib.Path(__file__).parent / "locate.svg")
]
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
if len(query.string) > 2:
try:
diff --git a/pacman/__init__.py b/pacman/__init__.py
index a15efefe..0b2ee192 100644
--- a/pacman/__init__.py
+++ b/pacman/__init__.py
@@ -9,10 +9,10 @@
from time import sleep
import pathlib
-from albert import Action, Item, QueryHandler, runTerminal, openUrl
+from albert import Action, Item, TriggerQueryHandler, runTerminal, openUrl
-md_iid = "0.5"
-md_version = "1.6"
+md_iid = '1.0'
+md_version = "1.7"
md_name = "PacMan"
md_description = "Search, install and remove packages"
md_license = "BSD-3"
@@ -20,7 +20,7 @@
md_bin_dependencies = ["pacman", "expac"]
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
pkgs_url = "https://www.archlinux.org/packages/"
@@ -46,7 +46,7 @@ def initialize(self):
str(pathlib.Path(__file__).parent / "arch.svg")
]
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
stripped = query.string.strip()
# Update item on empty queries
diff --git a/pass/__init__.py b/pass/__init__.py
index 7bd3b62c..0a76a51f 100644
--- a/pass/__init__.py
+++ b/pass/__init__.py
@@ -4,8 +4,8 @@
import os
from albert import *
-md_iid = "0.5"
-md_version = "1.2"
+md_iid = '1.0'
+md_version = "1.3"
md_name = "Pass"
md_description = "Manage passwords in pass"
md_bin_dependencies = ["pass"]
@@ -16,7 +16,7 @@
PASS_DIR = os.environ.get("PASSWORD_STORE_DIR", os.path.join(HOME_DIR, ".password-store/"))
ICON = ["xdg:dialog-password"]
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self):
return md_id
@@ -33,7 +33,7 @@ def synopsis(self):
def defaultTrigger(self):
return "pass "
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
if query.string.strip().startswith("generate"):
self.generatePassword(query)
else:
diff --git a/pomodoro/__init__.py b/pomodoro/__init__.py
index 24cef355..53faba9b 100644
--- a/pomodoro/__init__.py
+++ b/pomodoro/__init__.py
@@ -11,8 +11,8 @@
import time
import os
-md_iid = "0.5"
-md_version = "1.1"
+md_iid = '1.0'
+md_version = "1.2"
md_name = "Pomodoro"
md_description = "Set up a Pomodoro timer"
md_license = "BSD-3"
@@ -66,7 +66,7 @@ def isActive(self):
return self.timer is not None
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
icon = [os.path.dirname(__file__) + "/pomodoro.svg"]
default_pomodoro_duration = 25
@@ -92,7 +92,7 @@ def initialize(self):
def synopsis(self):
return "[duration [break duration [long break duration [count]]]]"
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
item = Item(
id=md_id,
icon=self.icon,
diff --git a/python_eval/__init__.py b/python_eval/__init__.py
index 6f962eb3..71a480ff 100644
--- a/python_eval/__init__.py
+++ b/python_eval/__init__.py
@@ -6,8 +6,8 @@
from math import *
import os
-md_iid = "0.5"
-md_version = "1.3"
+md_iid = '1.0'
+md_version = "1.4"
md_name = "Python Eval"
md_description = "Evaluate Python code"
md_license = "BSD-3"
@@ -15,7 +15,7 @@
md_maintainers = "@manuelschneid3r"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self):
return md_id
@@ -35,7 +35,7 @@ def synopsis(self):
def initialize(self):
self.iconPath = os.path.dirname(__file__)+"/python.svg"
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
stripped = query.string.strip()
if stripped:
try:
diff --git a/tex_to_unicode/__init__.py b/tex_to_unicode/__init__.py
index e0e38eb5..4fbdffed 100644
--- a/tex_to_unicode/__init__.py
+++ b/tex_to_unicode/__init__.py
@@ -9,8 +9,8 @@
from albert import *
from pylatexenc.latex2text import LatexNodes2Text
-md_iid = "0.5"
-md_version = "1.0"
+md_iid = '1.0'
+md_version = "1.1"
md_name = "TeX to Unicode"
md_description = "Convert TeX mathmode commands to unicode characters"
md_license = "GPL-3.0"
@@ -19,7 +19,7 @@
md_maintainers = "@DenverCoder1"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def id(self) -> str:
return md_id
@@ -57,7 +57,7 @@ def _create_item(self, text: str, subtext: str, can_copy: bool) -> Item:
actions=actions,
)
- def handleQuery(self, query: Query) -> None:
+ def handleTriggerQuery(self, query: Query) -> None:
stripped = query.string.strip()
if not stripped:
diff --git a/timer/__init__.py b/timer/__init__.py
index a6ce8ae9..5fc96bbb 100644
--- a/timer/__init__.py
+++ b/timer/__init__.py
@@ -18,8 +18,8 @@
import os
import subprocess
-md_iid = "0.5"
-md_version = "1.4"
+md_iid = '1.0'
+md_version = "1.5"
md_name = "Timer"
md_description = "Set up timers"
md_license = "BSD-2"
@@ -37,7 +37,7 @@ def __init__(self, interval, name, callback):
self.start()
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
def initialize(self):
self.icons = [os.path.dirname(__file__)+"/time.svg"]
@@ -83,7 +83,7 @@ def defaultTrigger(self):
def synopsis(self):
return '[[hrs:]mins:]secs [name]'
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
if not query.isValid:
return
diff --git a/unit_converter/__init__.py b/unit_converter/__init__.py
index 3a4a840d..d25f547f 100644
--- a/unit_converter/__init__.py
+++ b/unit_converter/__init__.py
@@ -29,8 +29,8 @@
import pint
-md_iid = "0.5"
-md_version = "1.2"
+md_iid = '1.0'
+md_version = "1.3"
md_name = "Unit Converter"
md_description = "Convert between units"
md_license = "MIT"
@@ -309,7 +309,7 @@ def convert(self, amount: float, from_unit: str, to_unit: str) -> ConversionResu
)
-class Plugin(albert.QueryHandler):
+class Plugin(albert.TriggerQueryHandler):
"""The plugin class"""
unit_convert_regex = re.compile(
@@ -370,7 +370,7 @@ def synopsis(self) -> str:
def defaultTrigger(self) -> str:
return "convert "
- def handleQuery(self, query: albert.Query) -> None:
+ def handleTriggerQuery(self, query: albert.TriggerQuery) -> None:
query_string = query.string.strip()
match = self.unit_convert_regex.fullmatch(query_string)
if match:
diff --git a/virtualbox/__init__.py b/virtualbox/__init__.py
index 7b789696..f084bcfe 100644
--- a/virtualbox/__init__.py
+++ b/virtualbox/__init__.py
@@ -5,8 +5,8 @@
from albert import *
-md_iid = "0.5"
-md_version = "1.3"
+md_iid = '1.0'
+md_version = "1.4"
md_name = "VirtualBox"
md_description = "Manage your VirtualBox machines"
md_license = "BSD-3"
@@ -47,7 +47,7 @@ def pauseVm(vm):
with vm.create_session(LockType.shared) as session:
session.console.pause()
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
iconUrls = ["xdg:virtualbox", ":unknown"]
def id(self):
@@ -65,7 +65,7 @@ def synopsis(self):
def defaultTrigger(self):
return "vbox "
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
items = []
pattern = query.string.strip().lower()
try:
diff --git a/vpn/__init__.py b/vpn/__init__.py
index 44af6857..3d6fae20 100644
--- a/vpn/__init__.py
+++ b/vpn/__init__.py
@@ -2,8 +2,8 @@
from collections import namedtuple
import subprocess
-md_iid = "0.5"
-md_version = "1.2"
+md_iid = '1.0'
+md_version = "1.3"
md_id = "vpn"
md_name = "VPN"
md_description = "Manage NetworkManager VPN connections"
@@ -14,7 +14,7 @@
md_bin_dependencies = ["nmcli"]
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
iconPath = ['xdg:network-wired']
@@ -56,7 +56,7 @@ def buildItem(self,con):
)
- def handleQuery(self,query):
+ def handleTriggerQuery(self,query):
if query.isValid:
connections = self.getVPNConnections()
if query.string:
diff --git a/wikipedia/__init__.py b/wikipedia/__init__.py
index 99f39a93..b4a9c921 100644
--- a/wikipedia/__init__.py
+++ b/wikipedia/__init__.py
@@ -10,8 +10,8 @@
import json
import os
-md_iid = "0.5"
-md_version = "1.5"
+md_iid = '1.0'
+md_version = "1.6"
md_name = "Wikipedia"
md_description = "Search Wikipedia articles."
md_license = "BSD-3"
@@ -19,7 +19,7 @@
md_maintainers = "@manuelschneid3r"
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
iconPath = ":wikipedia"
baseurl = 'https://en.wikipedia.org/w/api.php'
@@ -63,7 +63,7 @@ def initialize(self):
critical('Error getting languages (%s). Defaulting to EN.' % error)
- def handleQuery(self, query):
+ def handleTriggerQuery(self, query):
stripped = query.string.strip()
if stripped:
# avoid rate limiting
diff --git a/youtube/__init__.py b/youtube/__init__.py
index 598422f8..17f5bc9e 100644
--- a/youtube/__init__.py
+++ b/youtube/__init__.py
@@ -8,11 +8,11 @@
from urllib.parse import urlencode
from urllib.request import Request, urlopen
-from albert import Action, Item, Query, QueryHandler, critical, info, openUrl # pylint: disable=import-error
+from albert import Action, Item, TriggerQuery, TriggerQueryHandler, critical, info, openUrl # pylint: disable=import-error
-md_iid = '0.5'
-md_version = '1.3'
+md_iid = '1.0'
+md_version = '1.4'
md_name = 'YouTube'
md_description = 'Query and open YouTube videos and channels'
md_url = 'https://github.com/albertlauncher/python/'
@@ -111,7 +111,7 @@ def results_to_items(results: dict) -> list[Item]:
return items
-class Plugin(QueryHandler):
+class Plugin(TriggerQueryHandler):
temp_dir = None
def id(self) -> str:
@@ -137,7 +137,7 @@ def defaultTrigger(self) -> str:
def synopsis(self) -> str:
return 'query'
- def handleQuery(self, query: Query) -> None:
+ def handleTriggerQuery(self, query: TriggerQuery) -> None:
query_str = query.string.strip()
if not query_str:
return