diff --git a/config.ini b/config.ini index 8f5af62..507b057 100644 --- a/config.ini +++ b/config.ini @@ -1,9 +1,9 @@ [server] -server_host = 127.0.0.1 +server_host = 0.0.0.0 server_port = 8081 [app] -user_data = user-data.txt -meta_data = meta-data.txt \ No newline at end of file +user_data = user-data +meta_data = meta-data diff --git a/data/localhost/meta-data.txt b/data/localhost/meta-data.txt deleted file mode 100644 index 32695e1..0000000 --- a/data/localhost/meta-data.txt +++ /dev/null @@ -1 +0,0 @@ -suspended:httpd \ No newline at end of file diff --git a/data/user-data.txt b/data/user-data.txt deleted file mode 100644 index 3d8c6f6..0000000 --- a/data/user-data.txt +++ /dev/null @@ -1,2 +0,0 @@ -This is a sample static file to be served -from cherrypy server at user-data url. diff --git a/main.py b/main.py index 6ad221f..637a830 100644 --- a/main.py +++ b/main.py @@ -18,9 +18,6 @@ meta_data_filename = config["app"].get("meta_data", "meta_data_extra.txt") class MainApp: - def __init__(self, *args): - self._init_ip() - def _init_ip(self): """ Get remote IP @@ -33,14 +30,21 @@ class MainApp: except: self.remoteip = cherrypy.request.remote.ip - self.hostinfo = socket.gethostbyaddr(self.remoteip) + try: + self.hostinfo = socket.gethostbyaddr(self.remoteip) + except socket.herror: + self.hostinfo = ('localhost', ) @cherrypy.expose def user_data(self): """ Serves a static file """ - filepath = os.path.join(PATH, "data", user_data_filename) + self._init_ip() + filepath = os.path.join(PATH, "data", self.hostinfo[0], + user_data_filename) + if not os.path.exists(filepath): + filepath = os.path.join(PATH, "data", user_data_filename) return serve_file(filepath, "application/x-download", "attachment") @cherrypy.expose @@ -48,6 +52,7 @@ class MainApp: """ Return meta-data in YAML """ + self._init_ip() hostname =self.hostinfo[0] data = {"instance-id": hostname.split(".")[0], "local-hostname": hostname} @@ -67,6 +72,7 @@ class MainApp: :param data: meta-data to be added """ + self._init_ip() folder = os.path.join(PATH, "data", self.hostinfo[0]) if not os.path.exists(folder): os.makedirs(folder)