55
66from albert import *
77
8- md_iid = '1 .0'
9- md_version = "1.4 "
8+ md_iid = '2 .0'
9+ md_version = "1.5 "
1010md_name = "VirtualBox"
1111md_description = "Manage your VirtualBox machines"
1212md_license = "BSD-3"
@@ -23,74 +23,75 @@ def startVm(vm):
2323 except Exception as e :
2424 warning (str (e ))
2525
26+
2627def acpiPowerVm (vm ):
2728 with vm .create_session (LockType .shared ) as session :
2829 session .console .power_button ()
2930
31+
3032def stopVm (vm ):
3133 with vm .create_session (LockType .shared ) as session :
3234 session .console .power_down ()
3335
36+
3437def saveVm (vm ):
3538 with vm .create_session (LockType .shared ) as session :
3639 session .machine .save_state ()
3740
41+
3842def 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
4247def resumeVm (vm ):
4348 with vm .create_session (LockType .shared ) as session :
4449 session .console .resume ()
4550
51+
4652def 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