]> git.meshlink.io Git - catta/blob - avahi-utils/avahi-resolve-host-name.in
python: use module gdbm exclusively (dropping anydbm, dbm)
[catta] / avahi-utils / avahi-resolve-host-name.in
1 #!@PYTHON@
2 # -*-python-*-
3 # $Id$
4
5 # This file is part of avahi.
6 #
7 # avahi is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU Lesser General Public License as
9 # published by the Free Software Foundation; either version 2 of the
10 # License, or (at your option) any later version.
11 #
12 # avahi is distributed in the hope that it will be useful, but WITHOUT
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 # License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with avahi; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 # USA.
21
22 import sys, getopt
23
24 try:
25     import avahi, gobject, dbus
26 except ImportError:
27     print "Sorry, to use this tool you need to install Avahi, pygtk and python-dbus."
28     sys.exit(1)
29
30 try:
31     import dbus.glib
32 except ImportError, e:
33     pass
34
35
36 if len(sys.argv) <= 1:
37     print "Please specify host name(s) to resolve."
38     sys.exit(1)
39
40 bus = dbus.SystemBus()
41 server = dbus.Interface(bus.get_object(avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER), avahi.DBUS_INTERFACE_SERVER)
42
43 ret = 0
44
45 for name in sys.argv[1:]:
46     try:
47         r = server.ResolveHostName(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, name, avahi.PROTO_UNSPEC)
48         print r[2], r[4]
49     except dbus.DBusException, e:
50         print "Resolving '%s' failed: %s" % (name, str(e))
51         ret = 1
52
53 sys.exit(ret)