bugfix: leverage data_files to stop hacking setup.py 81/40981/3
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Mon, 4 Sep 2017 07:57:23 +0000 (15:57 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Mon, 4 Sep 2017 10:12:46 +0000 (18:12 +0800)
1) leverage data_files to distribute ui related files, and dispatch
them under /usr/local/share/opnfv_testapi
2) delete hacking coding, no more extra processes
3) utilize MANIFEST.in to include 3rd_party when producing a source distribution

Change-Id: Idb83a02be11f6b24610191e9f85e0db80d92e972
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/testapi/MANIFEST.in [new file with mode: 0644]
utils/test/testapi/etc/config.ini
utils/test/testapi/opnfv_testapi/cmd/server.py
utils/test/testapi/opnfv_testapi/common/config.py
utils/test/testapi/opnfv_testapi/router/url_mappings.py
utils/test/testapi/opnfv_testapi/ui/root.py
utils/test/testapi/setup.cfg
utils/test/testapi/setup.py

diff --git a/utils/test/testapi/MANIFEST.in b/utils/test/testapi/MANIFEST.in
new file mode 100644 (file)
index 0000000..0ba1808
--- /dev/null
@@ -0,0 +1 @@
+recursive-include 3rd_party
\ No newline at end of file
index db0e191..a7d8da6 100644 (file)
@@ -21,6 +21,9 @@ authenticate = False
 [ui]
 url = http://localhost:8000
 
+# this path should be the seem with data_files installation path
+static_path = /usr/local/share/opnfv_testapi
+
 [lfid]
 # Linux Foundation cas URL
 cas_url = https://identity.linuxfoundation.org/cas/
index 50ac049..b7d3caa 100644 (file)
@@ -38,7 +38,7 @@ from opnfv_testapi.tornado_swagger import swagger
 
 def make_app():
     swagger.docs(base_url=CONF.ui_url,
-                 static_path=CONF.static_path)
+                 static_path=CONF.ui_static_path)
     return swagger.Application(
         url_mappings.mappings,
         debug=CONF.api_debug,
index 4cd53c6..0b85f4e 100644 (file)
@@ -20,10 +20,6 @@ class Config(object):
         self._set_config_file()
         self._parse()
         self._parse_per_page()
-        self.static_path = os.path.join(
-            os.path.dirname(os.path.normpath(__file__)),
-            os.pardir,
-            'static')
 
     def _parse(self):
         if not os.path.exists(self.config_file):
index be6240e..c038e88 100644 (file)
@@ -72,7 +72,7 @@ mappings = [
     # static path
     (r'/(.*\.(css|png|gif|js|html|json|map|woff2|woff|ttf))',
      tornado.web.StaticFileHandler,
-     {'path': CONF.static_path}),
+     {'path': CONF.ui_static_path}),
 
     (r'/', root.RootHandler),
     (r'/api/v1/auth/signin', sign.SigninHandler),
index 069ad5e..576cbdd 100644 (file)
@@ -5,7 +5,7 @@ from opnfv_testapi.resources import handlers
 
 class RootHandler(handlers.GenericApiHandler):
     def get_template_path(self):
-        return CONF.static_path
+        return CONF.ui_static_path
 
     @check.login
     def get(self):
index ab1ef55..030e05a 100644 (file)
@@ -23,18 +23,10 @@ setup-hooks =
 [files]
 packages =
     opnfv_testapi
-package_data =
-    opnfv_testapi =
-        static/*.*
-        static/*/*.*
-        static/*/*/*.*
-        static/*/*/*/*.*
-        static/*/*/*/*/*.*
-        static/*/*/*/*/*/*.*
-        static/*/*/*/*/*/*/*.*
+
 data_files =
-    /etc/opnfv_testapi =
-        etc/config.ini
+    etc/opnfv_testapi = etc/config.ini
+    /usr/local/share/opnfv_testapi = 3rd_party/static/*
 
 [entry_points]
 console_scripts =
@@ -44,4 +36,3 @@ console_scripts =
 tag_build =
 tag_date = 0
 tag_svn_revision = 0
-
index dd52373..f9d95a3 100644 (file)
@@ -1,6 +1,3 @@
-import os
-import subprocess
-
 import setuptools
 
 __author__ = 'serena'
@@ -10,11 +7,7 @@ try:
 except ImportError:
     pass
 
-dirpath = os.path.dirname(os.path.abspath(__file__))
-subprocess.call(['ln', '-s',
-                 '{}/3rd_party/static'.format(dirpath),
-                 '{}/opnfv_testapi/static'.format(dirpath)])
 
 setuptools.setup(
-    setup_requires=['pbr==2.0.0'],
+    setup_requires=['pbr>=2.0.0'],
     pbr=True)