ladish_control: Expose all current methods
This commit is contained in:
parent
b47fca2481
commit
302192c56d
|
@ -23,9 +23,13 @@
|
|||
# or write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
control_interface_name = 'org.ladish.Control'
|
||||
service_name = 'org.ladish'
|
||||
dbus_object_path = "/org/ladish/Control"
|
||||
|
||||
control_object_path = "/org/ladish/Control"
|
||||
studio_object_path = "/org/ladish/Studio"
|
||||
|
||||
control_interface_name = 'org.ladish.Control'
|
||||
studio_interface_name = 'org.ladish.Studio'
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
@ -94,13 +98,21 @@ def main():
|
|||
print "Usage: %s [command] [command] ..." % os.path.basename(sys.argv[0])
|
||||
print "Commands:"
|
||||
print " exit - exit ladish dbus service"
|
||||
print " studios - list studios"
|
||||
print " apps - list apps"
|
||||
print " load <studioname> - load studio"
|
||||
print " slist - list studios"
|
||||
print " alist - list apps"
|
||||
print " sload <studioname> - load studio"
|
||||
print " sdel <studioname> - delete studio"
|
||||
print " snew [studioname] - new studio"
|
||||
print " sisloaded - is studio loaded?"
|
||||
print " sname - get studio name"
|
||||
print " ssave - save studio"
|
||||
print " sunload - unload studio"
|
||||
print " srename <studioname> - rename studio"
|
||||
sys.exit(0)
|
||||
|
||||
bus = dbus.SessionBus()
|
||||
lash = None
|
||||
control_obj = None
|
||||
studio_obj = None
|
||||
|
||||
# check arguments
|
||||
index = 1
|
||||
|
@ -108,28 +120,29 @@ def main():
|
|||
arg = sys.argv[index]
|
||||
index += 1
|
||||
try:
|
||||
if not lash:
|
||||
lash = bus.get_object(service_name, dbus_object_path)
|
||||
control_iface = dbus.Interface(lash, control_interface_name)
|
||||
if not control_obj:
|
||||
control_obj = bus.get_object(service_name, control_object_path)
|
||||
control_iface = dbus.Interface(control_obj, control_interface_name)
|
||||
|
||||
if arg == "exit":
|
||||
print "--- exit"
|
||||
control_iface.Exit()
|
||||
time.sleep(1)
|
||||
# we have deactivated the object and we need to get new connection if there are more commands
|
||||
lash = None
|
||||
control_obj = None
|
||||
control_iface = None
|
||||
elif arg == 'studios':
|
||||
elif arg == 'slist':
|
||||
print "--- studio list"
|
||||
for studio in control_iface.GetStudioList():
|
||||
name = studio[0]
|
||||
mtime = studio[1]['Modification Time']
|
||||
print '"%s" last modified on %s' % (name, time.ctime(mtime))
|
||||
elif arg == 'apps':
|
||||
elif arg == 'alist':
|
||||
print "--- app list"
|
||||
for app in control_iface.GetApplicationList():
|
||||
print app
|
||||
elif arg == 'load':
|
||||
elif arg == 'sload':
|
||||
print "--- studio load"
|
||||
if index >= len(sys.argv):
|
||||
print "load studio command requires studio name argument"
|
||||
sys.exit()
|
||||
|
@ -142,8 +155,58 @@ def main():
|
|||
#open_options["option2"] = True
|
||||
|
||||
control_iface.LoadStudio(arg, open_options)
|
||||
elif arg == 'sdel':
|
||||
print "--- studio delete"
|
||||
if index >= len(sys.argv):
|
||||
print "delete studio command requires studio name argument"
|
||||
sys.exit()
|
||||
|
||||
arg = sys.argv[index]
|
||||
index += 1
|
||||
|
||||
control_iface.DeleteStudio(arg)
|
||||
elif arg == 'snew':
|
||||
print "--- studio new"
|
||||
name = ""
|
||||
if index < len(sys.argv):
|
||||
name = sys.argv[index]
|
||||
index += 1
|
||||
|
||||
control_iface.NewStudio(name)
|
||||
elif arg == 'sisloaded':
|
||||
print "--- studio is loaded"
|
||||
if control_iface.IsStudioLoaded():
|
||||
print "yes"
|
||||
else:
|
||||
print "no"
|
||||
else:
|
||||
print "Unknown command '%s'" % arg
|
||||
if not studio_obj:
|
||||
studio_obj = bus.get_object(service_name, studio_object_path)
|
||||
studio_iface = dbus.Interface(studio_obj, studio_interface_name)
|
||||
|
||||
if arg == 'sname':
|
||||
print "--- studio get name"
|
||||
print "\"%s\"" % studio_iface.GetName()
|
||||
elif arg == 'ssave':
|
||||
print "--- studio save"
|
||||
studio_iface.Save()
|
||||
elif arg == 'sunload':
|
||||
print "--- studio unload"
|
||||
studio_iface.Unload()
|
||||
studio_obj = None
|
||||
studio_iface = None
|
||||
elif arg == 'srename':
|
||||
print "--- studio rename"
|
||||
if index >= len(sys.argv):
|
||||
print "rename studio command requires studio name argument"
|
||||
sys.exit()
|
||||
|
||||
arg = sys.argv[index]
|
||||
index += 1
|
||||
|
||||
studio_iface.Rename(arg)
|
||||
else:
|
||||
print "Unknown command '%s'" % arg
|
||||
except dbus.DBusException, e:
|
||||
print "DBus exception: %s" % str(e)
|
||||
|
||||
|
|
Loading…
Reference in New Issue