[SEBA-450] (part 1)
Refactoring, python3 compat, and tox tests on:
- xosconfig
- xosgenx
- xosutil
Eliminate use of yaml.load() which is unsafe, switch to yaml.safe_load()
More diagnostics during database migration
Change-Id: I0fae5782fca401603a7c4e4ec2b9269ad24bda97
diff --git a/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py b/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py
index d8eada7..4424824 100644
--- a/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py
+++ b/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py
@@ -12,6 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import absolute_import
from xosgenx.jinja2_extensions import xproto_field_graph_components
@@ -58,18 +59,19 @@
):
keys.append("%s_id" % f["name"])
# if not keys are specified and there is a name field, use that as key.
- if len(keys) == 0 and "name" in map(lambda f: f["name"], fields):
+ if len(keys) == 0 and "name" in [f["name"] for f in fields]:
keys.append("name")
- for of in one_of:
+ for of in sorted(one_of):
# check if the field is a link, and in case add _id
for index, f in enumerate(of):
try:
- field = [
+ # FIXME: the 'field' var appears to be dead code, but exists to cause the IndexError?
+ field = [ # noqa: F841
x for x in fields if x["name"] == f and ("link" in x and x["link"])
][0]
of[index] = "%s_id" % f
- except IndexError as e:
+ except IndexError:
# the field is not a link
pass