<p><a href="https://gerrit.osmocom.org/c/pysim/+/24035">View Change</a></p><p>3 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py">File pySim/utils.py:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py@869">Patch Set #2, Line 869:</a> <code style="font-family:monospace,monospace">DataObject</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">To be fair I also find this part of the documentation extremely confusing :) I would recommend to read this: https://pymotw.com/3/abc/. Sorter and easier to understand.</p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">Your recent examples look super simlpe in terms of what they do to the code, but I somehow am not certain enough that we're using it like it's documented.</p></blockquote><p style="white-space: pre-wrap; word-wrap: break-word;">Well, this approach works for me (tm): if you forget to define an abstract method in a child class or define it with a wrong name, you immediately see this error at module load time, rather than a week later at run-time.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py@985">Patch Set #2, Line 985:</a> <code style="font-family:monospace,monospace">members=[]</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Ah yes, I read about this some time ago, but forgot it.  […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">The only way seems to be:</p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">  def __init__(self, name, desc = None, members=None):</pre><p style="white-space: pre-wrap; word-wrap: break-word;">and then:</p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">  self.members = members if members else []</pre><p style="white-space: pre-wrap; word-wrap: break-word;">or even simpler:</p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">  self.members = members or []</pre></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py@991">Patch Set #2, Line 991:</a> <code style="font-family:monospace,monospace">        for m in self.members:</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">but how would I select the m.tag / m.name here?  […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Ah, sorry for confusing code snippet in my previous comment. Your snippet should work fine.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/c/pysim/+/24035">change 24035</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/+/24035"/><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: Iac18e7665481c9323cc7d22a3cd93e3da7869deb </div>
<div style="display:none"> Gerrit-Change-Number: 24035 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </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: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Comment-Date: Mon, 03 May 2021 17:21:51 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Comment-In-Reply-To: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Comment-In-Reply-To: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>