summaryrefslogtreecommitdiffstats
path: root/bin/hostinfo
diff options
context:
space:
mode:
Diffstat (limited to 'bin/hostinfo')
-rwxr-xr-xbin/hostinfo24
1 files changed, 15 insertions, 9 deletions
diff --git a/bin/hostinfo b/bin/hostinfo
index a25d719..a1dde4a 100755
--- a/bin/hostinfo
+++ b/bin/hostinfo
@@ -5,7 +5,7 @@ import sys
import socket
import getopt
import yaml
-import os.path
+import os
from dns import resolver,reversename
own_directory = os.path.dirname(os.path.abspath(__file__))
@@ -44,14 +44,14 @@ def print_keys(path):
data = _get_data(path)
_print_keys(data)
-def find_host(host):
- path = "/usr/local/share/hostinfo/%s" % host
+def find_host(basepath, host):
+ path = os.path.join(basepath, host)
if os.path.exists(path):
return path
# try to build the fqdn
- path = "/usr/local/share/hostinfo/%s.spline.inf.fu-berlin.de" % \
- host.replace('.spline.de', '')
+ path = os.path.join(basepath, "%s.spline.inf.fu-berlin.de" %
+ host.replace('.spline.de', ''))
if os.path.exists(path):
return path
@@ -59,7 +59,7 @@ def find_host(host):
# try to use reverse dns
addr=reversename.from_address(host)
hostname = str(resolver.query(addr,"PTR")[0])
- path = "/usr/local/share/hostinfo/%s" % hostname[0:-1]
+ path = os.path.join(basepath, hostname[0:-1])
except:
pass
@@ -73,12 +73,15 @@ def print_help(self_name):
def main():
self_name = sys.argv.pop(0)
+ basepath = '/usr/local/share/hostinfo'
+ if 'HOSTINFO_PATH' in os.environ:
+ basepath = os.environ['HOSTINFO_PATH']
file = oneline = keys = verbose = nospaces = help = False
try:
- optlist, args = getopt.gnu_getopt(sys.argv, 'ofkvnh?',
+ optlist, args = getopt.gnu_getopt(sys.argv, 'ofkvnh?p:',
['oneline', 'file', 'keys', 'verbose',
- 'nospaces', 'help'])
+ 'nospaces', 'help', 'path='])
opts = {}
for key, value in optlist:
opts[key] = value
@@ -89,6 +92,9 @@ def main():
verbose = any([o in opts for o in ['--verbose', '-v']])
nospaces = any([o in opts for o in ['--nospaces', '-n']])
help = any([o in opts for o in ['--help', '-h', '-?']])
+
+ if any([o in opts for o in ['--path', '-p']]):
+ basepath = [opts[o] for o in ['--path', '-p'] if o in opts][0]
except getopt.GetoptError, e:
print("Error: %s" % e)
print
@@ -100,7 +106,7 @@ def main():
sys.exit(1)
sys.exit(0)
- path = find_host(args[0])
+ path = find_host(basepath, args[0])
if path is None:
print("Host '%s' could not be found!" % args[0])
sys.exit(1)