PolicyKit: Branch 'master'

David Zeuthen david at kemper.freedesktop.org
Fri Nov 13 08:41:52 PST 2009


 docs/polkit/overview.xml        |    4 +++
 docs/polkit/polkit-1-docs.xml   |    1 
 src/examples/polkit-raw-dbus.py |   41 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 1 deletion(-)

New commits:
commit 0ad984a81014088253f0b4e373b5d6a7843ca79b
Author: David Zeuthen <davidz at redhat.com>
Date:   Fri Nov 13 11:41:20 2009 -0500

    Add Python example

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 at 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


More information about the hal-commit mailing list