diff options
author | David Zeuthen <davidz@redhat.com> | 2009-11-13 11:41:20 -0500 |
---|---|---|
committer | David Zeuthen <davidz@redhat.com> | 2009-11-13 11:41:20 -0500 |
commit | 0ad984a81014088253f0b4e373b5d6a7843ca79b (patch) | |
tree | f524be1be10e659eb613d1ed36853075279fd83c | |
parent | a72b5ba87920984caa74067fef0c01c500d96859 (diff) | |
download | polkit-0ad984a81014088253f0b4e373b5d6a7843ca79b.tar.gz |
Add Python example
-rw-r--r-- | docs/polkit/overview.xml | 4 | ||||
-rw-r--r-- | docs/polkit/polkit-1-docs.xml | 1 | ||||
-rwxr-xr-x | src/examples/polkit-raw-dbus.py | 41 |
3 files changed, 45 insertions, 1 deletions
diff --git a/docs/polkit/overview.xml b/docs/polkit/overview.xml index 665ca35..b8461f9 100644 --- a/docs/polkit/overview.xml +++ b/docs/polkit/overview.xml @@ -40,10 +40,14 @@ </para> <para> As an example of code using the GObject API, see <xref linkend="cancel-example"/>. + For an example using the D-Bus API, see <xref linkend="polkit-raw-dbus-py"/>. </para> <example id="cancel-example"><title>Querying the Authority</title> <programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../src/examples/cancel.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting> </example> + <example id="polkit-raw-dbus-py"><title>Accessing the Authority via D-Bus</title> + <programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../src/examples/polkit-raw-dbus.py"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting> + </example> </chapter> <chapter id="polkit-agents"> diff --git a/docs/polkit/polkit-1-docs.xml b/docs/polkit/polkit-1-docs.xml index 357efdf..5d2ea73 100644 --- a/docs/polkit/polkit-1-docs.xml +++ b/docs/polkit/polkit-1-docs.xml @@ -114,7 +114,6 @@ <xi:include href="../man/pkaction.xml"/> <xi:include href="../man/pkexec.xml"/> <xi:include href="../man/pklocalauthority.xml"/> - <xi:include href="../man/pklalockdown.xml"/> </part> <chapter id="polkit-hierarchy"> diff --git a/src/examples/polkit-raw-dbus.py b/src/examples/polkit-raw-dbus.py new file mode 100755 index 0000000..47484b4 --- /dev/null +++ b/src/examples/polkit-raw-dbus.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +# Copyright (C) 2009 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place, Suite 330, +# Boston, MA 02111-1307, USA. +# +# Author: David Zeuthen <davidz@redhat.com> + +# Simple example showing how to access the Authority via D-Bus calls +# + +import dbus + +bus = dbus.SystemBus() +proxy = bus.get_object('org.freedesktop.PolicyKit1', '/org/freedesktop/PolicyKit1/Authority') +authority = dbus.Interface(proxy, dbus_interface='org.freedesktop.PolicyKit1.Authority') + +system_bus_name = bus.get_unique_name() + +subject = ('system-bus-name', {'name' : system_bus_name}) +action_id = 'org.freedesktop.policykit.exec' +details = {} +flags = 1 # AllowUserInteraction flag +cancellation_id = '' # No cancellation id + +result = authority.CheckAuthorization(subject, action_id, details, flags, cancellation_id) + +print result |