Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(544)

Unified Diff: test/test-profile

Issue 6659006: flimflam: add support for multiple profiles (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/flimflam.git@master
Patch Set: more ers comments Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/set-profile-property ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/test-profile
diff --git a/test/test-profile b/test/test-profile
index 28cf775bacfd9e94b00330dc6cbc97eb4ccd2b82..7dccd1befb0d278924af6a3e22db8899ffe35172 100755
--- a/test/test-profile
+++ b/test/test-profile
@@ -1,102 +1,86 @@
#!/usr/bin/python
-import sys
-import dbus
+import dbus, flimflam, sys
-bus = dbus.SystemBus()
-
-manager = dbus.Interface(bus.get_object("org.chromium.flimflam", "/"),
- "org.chromium.flimflam.Manager")
+flim = flimflam.FlimFlam(dbus.SystemBus())
if len(sys.argv) < 2:
- print "Usage: %s <command>" % (sys.argv[0])
- print ""
- print " list"
- print " name <profile> [name]"
- print ""
- print " create <profile> [name]"
- print " remove <profile>"
- sys.exit(1)
-
-def print_profiles(profiles, active):
- for path in profiles:
- profile = dbus.Interface(bus.get_object("org.chromium.flimflam", path),
- "org.chromium.flimflam.Profile")
-
- properties = profile.GetProperties()
-
- identifier = path[path.rfind("/") + 1:]
-
- if (path == active):
- default = "*"
- else:
- default = " "
-
- if "Name" in properties.keys():
- name = properties["Name"]
- else:
- name = "<unnamed>"
-
- print "%s %-12s %s" % (default, identifier, name)
+ print "Usage: %s <command>" % (sys.argv[0])
+ print " create <profile>"
+ print " list"
+ print " name <profile> [name]"
+ print " pop [<profile>]"
+ print " push <profile>"
+ print " remove <profile>"
+ print ""
+ print "where <profile> is of the form ident or ~user/ident"
+ print "(beware that ~user may need shell quoting)"
+ sys.exit(1)
+
+
+def print_profiles():
+ active = flim.GetActiveProfile()
+ for profile in flim.GetObjectList("Profile"):
+ if profile.object_path == active.object_path:
+ isactive = "*"
+ else:
+ isactive = " "
+
+ # TODO(sleffler) handler ~user paths
+ identifier = profile.object_path[profile.object_path.rfind("/") + 1:]
+
+ properties = profile.GetProperties()
+ name = properties.get("Name", "<unnamed>");
+
+ print "%s %-12s %s" % (isactive, identifier, name)
if sys.argv[1] in ["list", "show"]:
- properties = manager.GetProperties()
-
- print_profiles(properties["Profiles"], properties["ActiveProfile"])
+ print_profiles()
elif sys.argv[1] in ["name"]:
- if (len(sys.argv) < 3):
- print "Need at least profile parameter"
- sys.exit(1)
-
- path = "/profile/" + sys.argv[2]
-
- profile = dbus.Interface(bus.get_object("org.chromium.flimflam", path),
- "org.chromium.flimflam.Profile")
-
- if (len(sys.argv) > 3):
- name = sys.argv[3]
-
- profile.SetProperty("Name", name);
-
- print "Name \"%s\" set for %s" % (name, sys.argv[2])
- else:
- properties = profile.GetProperties()
-
- if "Name" in properties.keys():
- name = "\"" + properties["Name"] + "\""
- else:
- name = "<unnamed>"
-
- print "Name for %s is %s" % (sys.argv[2], name)
-
-elif sys.argv[1] in ["create", "add"]:
- if (len(sys.argv) < 3):
- print "Profile parameter required"
- sys.exit(1)
-
- path = manager.CreateProfile(sys.argv[2])
-
- print "New profile created at %s" % (path)
-
- profile = dbus.Interface(bus.get_object("org.chromium.flimflam", path),
- "org.chromium.flimflam.Profile")
-
- if (len(sys.argv) > 3):
- name = sys.argv[3]
-
- profile.SetProperty("Name", name);
-
- print "Name \"%s\" set for %s" % (name, sys.argv[2])
-
-elif sys.argv[1] in ["remove", "delete", "del"]:
- if (len(sys.argv) < 3):
- print "Profile parameter required"
- sys.exit(1)
-
- path = "/profile/" + sys.argv[2]
-
- manager.RemoveProfile(path)
+ if (len(sys.argv) < 3):
+ print "Need at least profile parameter"
+ sys.exit(1)
+
+ profile = flim.FindElementByNameSubstring('Profile', sys.argv[2])
+ if (len(sys.argv) > 3):
+ profile.SetProperty("Name", sys.argv[3]);
+ else:
+ properties = profile.GetProperties()
+ print "%s" % properties.get("Name", "<unnamed>")
+
+elif sys.argv[1] in ["create"]:
+ if (len(sys.argv) < 3):
+ print "Profile identifier required"
+ sys.exit(1)
+
+ flim = flimflam.FlimFlam(dbus.SystemBus())
+ profile = flim.CreateProfile(sys.argv[2])
+ print "Created profile %s" % (profile.object_path)
+
+elif sys.argv[1] in ["remove"]:
+ if (len(sys.argv) < 3):
+ print "Profile identifier required"
+ sys.exit(1)
+
+ flim = flimflam.FlimFlam(dbus.SystemBus())
+ flim.RemoveProfile(sys.argv[2])
+ print "Removed profile %s" % (sys.argv[2])
+
+elif sys.argv[1] in ["push"]:
+ if (len(sys.argv) < 3):
+ print "Profile identifier required"
+ sys.exit(1)
+
+ flim = flimflam.FlimFlam(dbus.SystemBus())
+ profile = flim.PushProfile(sys.argv[2])
+ print "Pushed profile %s" % (profile.object_path)
+
+elif sys.argv[1] in ["pop"]:
+ if (len(sys.argv) == 3):
+ flim.PopProfile(sys.argv[2])
+ else:
+ flim.PopAnyProfile()
else:
- print "Unknown command"
+ print "Unknown command"
« no previous file with comments | « test/set-profile-property ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698