Skip to content

List key with embedded quote causes error #786

@ghost

Description

Current Behavior

The below code causes error

2018-05-16 12:37:10,585 - ydk - ERROR - Data is invalid according to the yang model. Error details: Unexpected character(s) 'c' ("c'][second='1233']").
---------------------------------------------------------------------------
YModelError                               Traceback (most recent call last)
<ipython-input-7-ee771e2b8880> in <module>()
----> 1 q=codec.encode(codec_p,r)

~/p/lib/python3.6/site-packages/ydk/errors/error_handler.py in helper(self, provider, entity, *args, **kwargs)
    110             err_msg = "'{0}' and '{1}' cannot be None".format(pname, ename)
    111             raise _YServiceError(error_msg=err_msg)
--> 112         return func(self, provider, entity, *args, **kwargs)
    113     return helper

~/p/lib/python3.6/site-packages/ydk/services/codec_service.py in encode(self, provider, entity_holder, pretty, subtree)
     76             return payload_list
     77         else:
---> 78             return self._encode(provider, entity_holder, pretty, subtree)
     79 
     80     def _encode(self, provider, entity, pretty, subtree):

~/p/lib/python3.6/site-packages/ydk/services/codec_service.py in _encode(self, provider, entity, pretty, subtree)
    108             result = codec_service.encode(data_node, provider.encoding, pretty)
    109             self.logger.debug("Performing encode operation, resulting in {}".format(result))
--> 110             return result
    111 
    112     @_check_argument

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)
     97                 value = type()
     98             try:
---> 99                 self.gen.throw(type, value, traceback)
    100             except StopIteration as exc:
    101                 # Suppress StopIteration *unless* it's the same exception that

~/p/lib/python3.6/site-packages/ydk/errors/error_handler.py in handle_runtime_error()
     80     finally:
     81         if _exc:
---> 82             _raise(_exc)
     83 
     84 

~/p/lib/python3.6/site-packages/ydk/errors/error_handler.py in _raise(exc)
     52     """
     53     if sys.version_info >= (3,3):
---> 54         exec("raise exc from None")
     55     else:
     56         raise exc

~/p/lib/python3.6/site-packages/ydk/errors/error_handler.py in <module>()

YModelError:  Unexpected character(s) 'c' ("c'][second='1233']"). Path: 

Steps to Reproduce

Run the below script

Your Script

from ydk.models.ydktest.ydktest_sanity import Runner

r = Runner()
t = Runner.TwoKeyList()
t.first = "ab'c"
t.second = 1233
r.two_key_list.append(t)
crud.create(provider, r)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions