From a3c88bef80887a92ce3f29a0e6530094cdc9cff0 Mon Sep 17 00:00:00 2001 From: Abhi Keshav Date: Wed, 16 May 2018 16:03:29 -0700 Subject: [PATCH] Fix #786 (#787) --- sdk/python/core/tests/test_sanity_levels.py | 10 ++++++++++ .../python/class_get_entity_path_printer.py | 18 +++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/sdk/python/core/tests/test_sanity_levels.py b/sdk/python/core/tests/test_sanity_levels.py index 8f7fbbb91..ba0231c17 100644 --- a/sdk/python/core/tests/test_sanity_levels.py +++ b/sdk/python/core/tests/test_sanity_levels.py @@ -750,6 +750,16 @@ def test_inner_pres(self): runner_read = self.crud.read(self.ncc, Runner()) self.assertEqual(runner, runner_read) + def embedded_quote_list_key(self): + r = Runner() + t = Runner.TwoKeyList() + t.first = "ab'c" + t.second = 1233 + r.two_key_list.append(t) + self.crud.create(self.ncc, runner) + + runner_read = self.crud.read(self.ncc, Runner()) + self.assertEqual(runner, runner_read) if __name__ == '__main__': device, non_demand, common_cache, timeout = get_device_info() diff --git a/ydkgen/printer/python/class_get_entity_path_printer.py b/ydkgen/printer/python/class_get_entity_path_printer.py index 88ec9baad..7f0f6a8e0 100644 --- a/ydkgen/printer/python/class_get_entity_path_printer.py +++ b/ydkgen/printer/python/class_get_entity_path_printer.py @@ -60,26 +60,26 @@ def _print_get_ydk_segment_path_body(self, clazz): key_props = clazz.get_key_props() for key_prop in key_props: predicates += insert_token - + predicates += '"[' if key_prop.stmt.i_module.arg != clazz.stmt.i_module.arg: predicates += key_prop.stmt.i_module.arg predicates += ':' - + predicates += key_prop.stmt.arg + '=' - - predicates += "'" - + + predicates += "\\\"" + predicates +='"' predicates += insert_token - + predicates += ('str(self.%s)') % key_prop.name + insert_token predicates += '"' - - predicates += "'" - + + predicates += "\\\"" + predicates += ']"' path = '%s%s' % (path, predicates)