[gssdp] examples: Add simple python example
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gssdp] examples: Add simple python example
- Date: Thu, 31 Jan 2019 21:20:27 +0000 (UTC)
commit ffb06da239d2a69da155bb3facd1d6db1fb0a3ac
Author: Jens Georg <mail jensge org>
Date: Mon Jan 28 22:08:38 2019 +0100
examples: Add simple python example
examples/publish.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
---
diff --git a/examples/publish.py b/examples/publish.py
new file mode 100644
index 0000000..eab0f5e
--- /dev/null
+++ b/examples/publish.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python3
+#
+# Copyright (c) 2019, Jens Georg <mail jensge org>
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+# DAMAGE.
+
+import gi
+gi.require_version('GSSDP', '1.2')
+from gi.repository import GSSDP
+from gi.repository import GLib
+import time
+
+c = GSSDP.Client (uda_version = GSSDP.UDAVersion.VERSION_1_1, boot_id = time.time(), config_id = 1)
+c.init()
+g = GSSDP.ResourceGroup(client = c)
+
+def on_update():
+ new_boot_id = c.props.boot_id + 1;
+ print('Updating boot_id from {} to {}'.format(c.props.boot_id, new_boot_id))
+ g.update (c.props.boot_id + 1)
+ return True
+
+if __name__ == '__main__':
+ g.add_resource_simple ('upnp:rootdevice', 'a66a9a18-3f31-4d41-ad64-98443e4d4399::upnp:rootdevice',
'http://127.0.0.1')
+ g.set_available(True)
+
+ l = GLib.MainLoop()
+ GLib.timeout_add_seconds(5, on_update)
+ l.run()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]