Skip to content

Commit 4bebd79

Browse files
[vbox] Interface v2.0
1 parent 52b30f7 commit 4bebd79

File tree

1 file changed

+26
-25
lines changed

1 file changed

+26
-25
lines changed

virtualbox/__init__.py

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
from albert import *
77

8-
md_iid = '1.0'
9-
md_version = "1.4"
8+
md_iid = '2.0'
9+
md_version = "1.5"
1010
md_name = "VirtualBox"
1111
md_description = "Manage your VirtualBox machines"
1212
md_license = "BSD-3"
@@ -23,74 +23,75 @@ def startVm(vm):
2323
except Exception as e:
2424
warning(str(e))
2525

26+
2627
def acpiPowerVm(vm):
2728
with vm.create_session(LockType.shared) as session:
2829
session.console.power_button()
2930

31+
3032
def stopVm(vm):
3133
with vm.create_session(LockType.shared) as session:
3234
session.console.power_down()
3335

36+
3437
def saveVm(vm):
3538
with vm.create_session(LockType.shared) as session:
3639
session.machine.save_state()
3740

41+
3842
def discardSavedVm(vm):
3943
with vm.create_session(LockType.shared) as session:
40-
session.machine.discard_save_state(True);
44+
session.machine.discard_save_state(True)
45+
4146

4247
def resumeVm(vm):
4348
with vm.create_session(LockType.shared) as session:
4449
session.console.resume()
4550

51+
4652
def pauseVm(vm):
4753
with vm.create_session(LockType.shared) as session:
4854
session.console.pause()
4955

50-
class Plugin(TriggerQueryHandler):
51-
iconUrls = ["xdg:virtualbox", ":unknown"]
52-
53-
def id(self):
54-
return md_id
55-
56-
def name(self):
57-
return md_name
58-
59-
def description(self):
60-
return md_description
6156

62-
def synopsis(self):
63-
return "<machine name>"
57+
class Plugin(PluginInstance, TriggerQueryHandler):
6458

65-
def defaultTrigger(self):
66-
return "vbox "
59+
def __init__(self):
60+
TriggerQueryHandler.__init__(self,
61+
id=md_id,
62+
name=md_name,
63+
description=md_description,
64+
synopsis='<machine name>',
65+
defaultTrigger='vbox ')
66+
PluginInstance.__init__(self, extensions=[self])
67+
self.iconUrls = ["xdg:virtualbox", ":unknown"]
6768

6869
def handleTriggerQuery(self, query):
6970
items = []
7071
pattern = query.string.strip().lower()
7172
try:
7273
for vm in filter(lambda vm: pattern in vm.name.lower(), virtualbox.VirtualBox().machines):
7374
actions = []
74-
if vm.state == MachineState.powered_off or vm.state == MachineState.aborted: #1 #4
75+
if vm.state == MachineState.powered_off or vm.state == MachineState.aborted: # 1 # 4
7576
actions.append(Action("startvm", "Start virtual machine", lambda vm=vm: startVm(vm)))
76-
if vm.state == MachineState.saved: #2
77+
if vm.state == MachineState.saved: # 2
7778
actions.append(Action("restorevm", "Start saved virtual machine", lambda vm=vm: startVm(vm)))
7879
actions.append(Action("discardvm", "Discard saved state", lambda vm=vm: discardSavedVm(vm)))
79-
if vm.state == MachineState.running: #5
80+
if vm.state == MachineState.running: # 5
8081
actions.append(Action("savevm", "Save virtual machine", lambda vm=vm: saveVm(vm)))
8182
actions.append(Action("poweroffvm", "Power off via ACPI event (Power button)", lambda vm=vm: acpiPowerVm(vm)))
8283
actions.append(Action("stopvm", "Turn off virtual machine", lambda vm=vm: stopVm(vm)))
8384
actions.append(Action("pausevm", "Pause virtual machine", lambda vm=vm: pauseVm(vm)))
84-
if vm.state == MachineState.paused: #6
85+
if vm.state == MachineState.paused: # 6
8586
actions.append(Action("resumevm", "Resume virtual machine", lambda vm=vm: resumeVm(vm)))
8687

8788
items.append(
88-
Item(
89+
StandardItem(
8990
id=vm.__uuid__,
9091
text=vm.name,
9192
subtext="{vm.state}".format(vm=vm),
92-
completion=vm.name,
93-
icon=self.iconUrls,
93+
inputActionText=vm.name,
94+
iconUrls=self.iconUrls,
9495
actions=actions
9596
)
9697
)

0 commit comments

Comments
 (0)