Created
April 7, 2015 18:06
-
-
Save sahib/3137975700ac9a701410 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# encoding: utf-8 | |
from gi.repository import Moose | |
from gi.repository import GLib | |
import sys | |
def zeroconf_state_changed(browser): | |
state = browser.get_state() | |
if state is Moose.ZeroconfState.CHANGED: | |
print('-- SERVER LIST --') | |
print() | |
for server in browser: | |
for attr, value in server: | |
print('{:>10} : {}'.format(attr, value)) | |
print() | |
elif state is Moose.ZeroconfState.ERROR: | |
print('Error', browser.get_error()) | |
elif state is Moose.ZeroconfState.ALL_FOR_NOW: | |
print('---ALL FOUND FOR NOW --') | |
elif state is Moose.ZeroconfState.UNCONNECTED: | |
print('-- CONNECTION LOST --') | |
else: | |
print('Unknown state. ZeroconfBrowser, you\'re drunk, go home.') | |
if __name__ == '__main__': | |
browser = Moose.ZeroconfBrowser() | |
if browser.get_state() is not Moose.ZeroconfState.CONNECTED: | |
print('No avahi running, eh?') | |
sys.exit(0) | |
browser.connect('state-changed', zeroconf_state_changed) | |
try: | |
loop = GLib.MainLoop() | |
GLib.timeout_add(10 * 1000, loop.quit) | |
loop.run() | |
except KeyboardInterrupt: | |
print('[Ctrl-C]') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- SERVER LIST -- | |
name : sleipnir | |
protocol : _mpd._tcp | |
domain : local | |
addr : 192.168.23.30 | |
host : sleipnir.local | |
port : 6600 | |
name : werkstatt | |
protocol : _mpd._tcp | |
domain : local | |
addr : 192.168.23.9 | |
host : werkstatt.local | |
port : 6600 | |
name : Music Player | |
protocol : _mpd._tcp | |
domain : local | |
addr : 192.168.23.9 | |
host : werkstatt.local | |
port : 6666 | |
name : RuneAudio | |
protocol : _mpd._tcp | |
domain : local | |
addr : 192.168.23.20 | |
host : helgrind.local | |
port : 6600 | |
name : werkstatt | |
protocol : _mpd._tcp | |
domain : local | |
addr : 192.168.122.1 | |
host : werkstatt.local | |
port : 6600 | |
name : Music Player | |
protocol : _mpd._tcp | |
domain : local | |
addr : 192.168.122.1 | |
host : werkstatt.local | |
port : 6666 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment