Include j2 files in MANIFEST.in.
Updated mechanism to load jinja templates.
1134
Change-Id: Idfbdb4de0f90e63b49c4b27d8d5190eb1fa069c3
Signed-off-by: magnussonl <lars-goran.magnusson@arctoslabs.com>
(cherry picked from commit de4f7820a050a7ed18aa93a298c5a59e379e752b)
diff --git a/MANIFEST.in b/MANIFEST.in
index 22675f6..60da55a 100755
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -16,5 +16,5 @@
# under the License.
include requirements.txt
include README.md
-recursive-include osm_pla *.py *.sh *.yaml
+recursive-include osm_pla *.py *.sh *.yaml *.j2
recursive-include devops-stages *
diff --git a/osm_pla/placement/mznplacement.py b/osm_pla/placement/mznplacement.py
index 56a448d..3dcf0bc 100755
--- a/osm_pla/placement/mznplacement.py
+++ b/osm_pla/placement/mznplacement.py
@@ -18,7 +18,7 @@
import pymzn
from jinja2 import Environment
-from jinja2.loaders import FileSystemLoader
+from jinja2.loaders import FileSystemLoader, PackageLoader, ChoiceLoader
class MznPlacementConductor(object):
@@ -88,7 +88,8 @@
NsPlacementData objects. Uses jinja2 as templating language for the model
'''
default_j2_template = "osm_pla_dynamic_template.j2"
- template_search_path = ['osm_pla/placement', '../placement', '/pla/osm_pla/placement']
+ template_search_path = ['osm_pla/placement', '../placement', '/pla/osm_pla/placement',
+ './', '/usr/lib/python3/dist-packages/osm_pla/placement']
def __init__(self, log):
'''
@@ -111,7 +112,9 @@
def _load_jinja_template(self, template_name=default_j2_template):
"""loads the jinja template used for model generation"""
- env = Environment(loader=FileSystemLoader(MznModelGenerator.template_search_path))
+ loader1 = FileSystemLoader(MznModelGenerator.template_search_path)
+ loader2 = PackageLoader('osm_pla', '.')
+ env = Environment(loader=ChoiceLoader([loader1, loader2]))
return env.get_template(template_name)