ConfD User Community

Netconfcli inserts endline character for large binary leaf type


#1

I’m using cli interface to insert a binary type value. When I try to show the value of the binary leaf, cli output inserts endline characters after a sequence of 72 characters.

E.g
The YANG leaf is shown below:

leaf value {
type binary;
mandatory true;
}

inserted value in cli = b25jZV91cG9uX3RpbWVfaW5fbWV4aWNvX2FzZG9pajNvMTI4OTQ3MGFqc2xrZGphczBkOThvMzJwNG9sajlhOHMwZDkwOTgxMjNhc2Rkc2Q4OThhc2Q=

results into cli output:
b25jZV91cG9uX3RpbWVfaW5fbWV4aWNvX2FzZG9pajNvMTI4OTQ3MGFqc2xrZGphczBkOThv\nMzJwNG9sajlhOHMwZDkwOTgxMjNhc2Rkc2Q4OThhc2Q=

Data are been provided by an external data provider with the following way via get_elem callback:

Example:
data = “b25jZV91cG9uX3RpbWVfaW5fbWV4aWNvX2FzZG9pajNvMTI4OTQ3MGFqc2xrZGphczBkOThvMzJwNG9sajlhOHMwZDkwOTgxMjNhc2Rkc2Q4OThhc2Q=”

csnode = confd.find_cs_node(key_path, len(key_path))
dp.data_reply_value(tctx, confd.Value.str2val(str(data), csnode))

From netconf interface we see that endline characters exist, but they a rendered as literal endline characters, that is, formatted in a a new line when the length exceeds 72 characters

  1. Why does cli interface displays the endline characters literally without rendering them?
  2. Are those endline character introduced by the way we construct the return value using str2val?