Skip to content

Commit d14fdb4

Browse files
[arch_wiki] Interface v2.0
1 parent 58c4713 commit d14fdb4

2 files changed

Lines changed: 34 additions & 39 deletions

File tree

arch_wiki/__init__.py

Lines changed: 34 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,44 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright (c) 2022-2023 Manuel Schneider
32

4-
from albert import *
3+
import json
4+
from pathlib import Path
55
from time import sleep
66
from urllib import request, parse
7-
import json
8-
import os
97

10-
md_iid = '1.0'
11-
md_version = "1.3"
8+
from albert import *
9+
10+
md_iid = '2.0'
11+
md_version = "1.4"
1212
md_name = "ArchLinux Wiki"
1313
md_description = "Search ArchLinux Wiki articles"
1414
md_license = "BSD-3"
1515
md_url = "https://github.com/albertlauncher/python/tree/master/awiki"
16-
md_maintainers = "@manuelschneid3r"
1716

1817

19-
class Plugin(TriggerQueryHandler):
18+
class Plugin(PluginInstance, TriggerQueryHandler):
2019

21-
icon = [os.path.dirname(__file__) + "/ArchWiki.svg"]
2220
baseurl = 'https://wiki.archlinux.org/api.php'
2321
search_url = "https://wiki.archlinux.org/index.php?search=%s"
2422
user_agent = "org.albert.extension.python.archwiki"
2523

26-
def id(self):
27-
return md_id
28-
29-
def name(self):
30-
return md_name
31-
32-
def description(self):
33-
return md_description
34-
35-
def defaultTrigger(self):
36-
return "awiki "
24+
def __init__(self):
25+
TriggerQueryHandler.__init__(self,
26+
id=md_id,
27+
name=md_name,
28+
description=md_description,
29+
defaultTrigger='awiki ')
30+
PluginInstance.__init__(self, extensions=[self])
31+
self.iconUrls = [f"file:{Path(__file__).parent}/arch.svg"]
3732

3833
def handleTriggerQuery(self, query):
3934
stripped = query.string.strip()
4035
if stripped:
4136

4237
# avoid rate limiting
43-
for number in range(50):
38+
for _ in range(50):
4439
sleep(0.01)
4540
if not query.isValid:
46-
return;
41+
return
4742

4843
results = []
4944

@@ -65,25 +60,25 @@ def handleTriggerQuery(self, query):
6560
summary = data[2][i]
6661
url = data[3][i]
6762

68-
results.append(Item(id=md_id,
69-
text=title,
70-
subtext=summary if summary else url,
71-
icon=self.icon,
72-
actions=[
73-
Action("open", "Open article", lambda u=url: openUrl(u)),
74-
Action("copy", "Copy URL", lambda u=url: setClipboardText(u))
75-
]))
63+
results.append(StandardItem(id=md_id,
64+
text=title,
65+
subtext=summary if summary else url,
66+
iconUrls=self.iconUrls,
67+
actions=[
68+
Action("open", "Open article", lambda u=url: openUrl(u)),
69+
Action("copy", "Copy URL", lambda u=url: setClipboardText(u))
70+
]))
7671
if results:
7772
query.add(results)
7873
else:
79-
query.add(Item(id=md_id,
80-
text="Search '%s'" % query.string,
81-
subtext="No results. Start online search on Arch Wiki",
82-
icon=self.icon,
83-
actions=[Action("search", "Open search", lambda s=query.string: self.search_url % s)]))
74+
query.add(StandardItem(id=md_id,
75+
text="Search '%s'" % query.string,
76+
subtext="No results. Start online search on Arch Wiki",
77+
iconUrls=self.iconUrls,
78+
actions=[Action("search", "Open search", lambda s=query.string: self.search_url % s)]))
8479

8580
else:
86-
query.add(Item(id=md_id,
87-
text=md_name,
88-
icon=self.icon,
89-
subtext="Enter a query to search on the Arch Wiki"))
81+
query.add(StandardItem(id=md_id,
82+
text=md_name,
83+
iconUrls=self.iconUrls,
84+
subtext="Enter a query to search on the Arch Wiki"))

0 commit comments

Comments
 (0)