mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-28 20:20:34 +01:00
Recent python-black (22.0) dropped support for Python 2 and thus fail for those files. Make the examples Python3 compatible. (cherry picked from commit95e6a0a6e2) (cherry picked from commit2e4d1e8dc6)
50 lines
1.1 KiB
Python
Executable file
50 lines
1.1 KiB
Python
Executable file
#!/usr/bin/env python
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
# Copyright (C) 2016 Red Hat, Inc.
|
|
#
|
|
|
|
import gi
|
|
|
|
gi.require_version("NM", "1.0")
|
|
from gi.repository import GLib, NM
|
|
|
|
# This example shows how to monitor the DNS configuration
|
|
|
|
main_loop = None
|
|
|
|
|
|
def handle_config(config):
|
|
print(" ---- new configuration ----")
|
|
for entry in config:
|
|
print(" * servers: %s" % ", ".join(map(str, entry.get_nameservers())))
|
|
|
|
domains = entry.get_domains()
|
|
if domains and domains[0]:
|
|
print(" domains: %s" % ", ".join(map(str, domains)))
|
|
|
|
if entry.get_interface():
|
|
print(" interface: %s" % entry.get_interface())
|
|
|
|
print(" priority: %d" % entry.get_priority())
|
|
|
|
if entry.get_vpn():
|
|
print(" vpn: yes")
|
|
|
|
print("")
|
|
|
|
|
|
def dns_config_changed(self, property):
|
|
handle_config(self.get_dns_configuration())
|
|
|
|
|
|
main_loop = None
|
|
|
|
if __name__ == "__main__":
|
|
c = NM.Client.new(None)
|
|
c.connect("notify::dns-configuration", dns_config_changed)
|
|
|
|
handle_config(c.get_dns_configuration())
|
|
|
|
main_loop = GLib.MainLoop()
|
|
main_loop.run()
|