Skip to content

Commit c409e3f

Browse files
[pass] Interface v2.0
1 parent aa454ef commit c409e3f

File tree

1 file changed

+18
-24
lines changed

1 file changed

+18
-24
lines changed

pass/__init__.py

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import os
55
from albert import *
66

7-
md_iid = '1.0'
8-
md_version = "1.3"
7+
md_iid = '2.0'
8+
md_version = "1.4"
99
md_name = "Pass"
1010
md_description = "Manage passwords in pass"
1111
md_bin_dependencies = ["pass"]
@@ -14,24 +14,19 @@
1414

1515
HOME_DIR = os.environ["HOME"]
1616
PASS_DIR = os.environ.get("PASSWORD_STORE_DIR", os.path.join(HOME_DIR, ".password-store/"))
17-
ICON = ["xdg:dialog-password"]
1817

19-
class Plugin(TriggerQueryHandler):
2018

21-
def id(self):
22-
return md_id
19+
class Plugin(PluginInstance, TriggerQueryHandler):
2320

24-
def name(self):
25-
return md_name
26-
27-
def description(self):
28-
return md_description
29-
30-
def synopsis(self):
31-
return "<pass-name>"
32-
33-
def defaultTrigger(self):
34-
return "pass "
21+
def __init__(self):
22+
TriggerQueryHandler.__init__(self,
23+
id=md_id,
24+
name=md_name,
25+
description=md_description,
26+
synopsis='<pass-name>',
27+
defaultTrigger='pass ')
28+
PluginInstance.__init__(self, extensions=[self])
29+
self.iconUrls = ["xdg:dialog-password"]
3530

3631
def handleTriggerQuery(self, query):
3732
if query.string.strip().startswith("generate"):
@@ -42,19 +37,18 @@ def handleTriggerQuery(self, query):
4237
def generatePassword(self, query):
4338
location = query.string.strip()[9:]
4439

45-
query.add(Item(
40+
query.add(StandardItem(
4641
id="generate_password",
47-
icon=ICON,
42+
iconUrls=self.iconUrls,
4843
text="Generate a new password",
4944
subtext="The new password will be located at %s" % location,
50-
completion="pass %s" % query.string,
45+
inputActionText="pass %s" % query.string,
5146
actions=[
5247
Action("generate", "Generate", lambda: runDetachedProcess(["pass", "generate", "--clip", location, "20"]))
5348
]
5449
))
5550

5651
def showPasswords(self, query):
57-
passwords = []
5852
if query.string.strip():
5953
passwords = self.getPasswordsFromSearch(query)
6054
else:
@@ -64,12 +58,12 @@ def showPasswords(self, query):
6458
for password in passwords:
6559
name = password.split("/")[-1]
6660
results.append(
67-
Item(
61+
StandardItem(
6862
id=password,
69-
icon=ICON,
7063
text=name,
7164
subtext=password,
72-
completion="pass %s" % password,
65+
iconUrls=self.iconUrls,
66+
inputActionText="pass %s" % password,
7367
actions=[
7468
Action("copy", "Copy", lambda pwd=password: runDetachedProcess(["pass", "--clip", pwd])),
7569
Action("edit", "Edit", lambda pwd=password: runDetachedProcess(["pass", "edit", pwd])),

0 commit comments

Comments
 (0)