<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/pysim/+/25878">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">tlv: Fix recursive initialization from_dict()<br><br>When calling from_dict() on a hierarchy of nested BER_TLV_IE,<br>only the first/outer layer of TLV_IE_Collection would get its<br>'decoded' initialized correctly from the dict.  Subsequent layers<br>were not, as the 'decoded=' was passed as parameter during instance<br>initialization.  If we first instantiate the class and then call the<br>from_dict() method, the recursive initialization down the full hierarchy<br>works as expected.<br><br>Change-Id: I795a33ed8dfa8454dc9079c189ab7b2ba64a3b72<br>---<br>M pySim/tlv.py<br>1 file changed, 2 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pySim/tlv.py b/pySim/tlv.py</span><br><span>index 0dc746b..e1e2852 100644</span><br><span>--- a/pySim/tlv.py</span><br><span>+++ b/pySim/tlv.py</span><br><span>@@ -373,7 +373,8 @@</span><br><span>             for k in i.keys():</span><br><span>                 if k in self.members_by_name:</span><br><span>                     cls = self.members_by_name[k]</span><br><span style="color: hsl(0, 100%, 40%);">-                    inst = cls(decoded=i[k])</span><br><span style="color: hsl(120, 100%, 40%);">+                    inst = cls()</span><br><span style="color: hsl(120, 100%, 40%);">+                    inst.from_dict(i[k])</span><br><span>                     res.append(inst)</span><br><span>                 else:</span><br><span>                     raise ValueError('%s: Unknown TLV Class %s in %s; expected %s' %</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/pysim/+/25878">change 25878</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/pysim/+/25878"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: pysim </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I795a33ed8dfa8454dc9079c189ab7b2ba64a3b72 </div>
<div style="display:none"> Gerrit-Change-Number: 25878 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>