<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmocom-bb/+/23677">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">trx_toolkit: make codec.py work with EOL Python 3.5<br><br>Our build system is based on Debian 9 and EOL Python 3.5, so we have<br>to maintain backwards compatibility (sigh).  Some type hints moved<br>to comments, some had to be commented out completely.  Hopefully,<br>we can 'un-vandalize' the code by reverting this change once there<br>will be no requirement to support EOL stuff.<br><br>Change-Id: I7211cfbb7549b6e700aa3dd44464ff762fd51185<br>Related: OS#4006, SYS#4895<br>---<br>M src/target/trx_toolkit/codec.py<br>1 file changed, 12 insertions(+), 12 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/77/23677/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/target/trx_toolkit/codec.py b/src/target/trx_toolkit/codec.py</span><br><span>index 7a42c9b..9387592 100644</span><br><span>--- a/src/target/trx_toolkit/codec.py</span><br><span>+++ b/src/target/trx_toolkit/codec.py</span><br><span>@@ -55,17 +55,17 @@</span><br><span>    ''' Base class representing one field in a Message. '''</span><br><span> </span><br><span>  # Default length (0 means the whole buffer)</span><br><span style="color: hsl(0, 100%, 40%);">-     DEF_LEN: int = 0</span><br><span style="color: hsl(120, 100%, 40%);">+      DEF_LEN = 0 # type: int</span><br><span> </span><br><span>  # Default parameters</span><br><span style="color: hsl(0, 100%, 40%);">-    DEF_PARAMS: dict = { }</span><br><span style="color: hsl(120, 100%, 40%);">+        DEF_PARAMS = { } # type: dict</span><br><span> </span><br><span>    # Presence of a field during decoding and encoding</span><br><span style="color: hsl(0, 100%, 40%);">-      get_pres: Callable[[dict], bool]</span><br><span style="color: hsl(120, 100%, 40%);">+      ## get_pres: Callable[[dict], bool]</span><br><span>  # Length of a field for self.from_bytes()</span><br><span style="color: hsl(0, 100%, 40%);">-       get_len: Callable[[dict, bytes], int]</span><br><span style="color: hsl(120, 100%, 40%);">+ ## get_len: Callable[[dict, bytes], int]</span><br><span>     # Value of a field for self.to_bytes()</span><br><span style="color: hsl(0, 100%, 40%);">-  get_val: Callable[[dict], Any]</span><br><span style="color: hsl(120, 100%, 40%);">+        ## get_val: Callable[[dict], Any]</span><br><span> </span><br><span>        def __init__(self, name: str, **kw) -> None:</span><br><span>              self.name = name</span><br><span>@@ -201,7 +201,7 @@</span><br><span>       }</span><br><span> </span><br><span>        # To be defined by derived types</span><br><span style="color: hsl(0, 100%, 40%);">-        STRUCT: Tuple['BitField', ...] = ()</span><br><span style="color: hsl(120, 100%, 40%);">+   STRUCT = () # type: Tuple['BitField', ...]</span><br><span> </span><br><span>       def __init__(self, **kw) -> None:</span><br><span>                 Field.__init__(self, self.__class__.__name__, **kw)</span><br><span>@@ -248,8 +248,8 @@</span><br><span>    ''' One field in a BitFieldSet. '''</span><br><span> </span><br><span>      # Special fields for BitFieldSet</span><br><span style="color: hsl(0, 100%, 40%);">-        offset: int = 0</span><br><span style="color: hsl(0, 100%, 40%);">- mask: int = 0</span><br><span style="color: hsl(120, 100%, 40%);">+ offset = 0 # type: int</span><br><span style="color: hsl(120, 100%, 40%);">+        mask = 0 # type: int</span><br><span> </span><br><span>     class Spare:</span><br><span>                 ''' Spare filling in a BitFieldSet. '''</span><br><span>@@ -272,7 +272,7 @@</span><br><span>                self.bl = bl</span><br><span> </span><br><span>             # (Optional) fixed value for encoding and decoding</span><br><span style="color: hsl(0, 100%, 40%);">-              self.val: Optional[int] = kw.get('val', None)</span><br><span style="color: hsl(120, 100%, 40%);">+         self.val = kw.get('val', None) # type: Optional[int]</span><br><span> </span><br><span>     def enc_val(self, vals: dict) -> int:</span><br><span>             if self.val is None:</span><br><span>@@ -291,11 +291,11 @@</span><br><span> class Envelope:</span><br><span>      ''' A group of related fields. '''</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  STRUCT: Tuple[Codec, ...] = ()</span><br><span style="color: hsl(120, 100%, 40%);">+        STRUCT = () # type: Tuple[Codec, ...]</span><br><span> </span><br><span>    def __init__(self, check_len: bool = True):</span><br><span>          # TODO: ensure uniqueue field names in self.STRUCT</span><br><span style="color: hsl(0, 100%, 40%);">-              self.c: dict = { }</span><br><span style="color: hsl(120, 100%, 40%);">+            self.c = { } # type: dict</span><br><span>            self.check_len = check_len</span><br><span> </span><br><span>       def __getitem__(self, key: str) -> Any:</span><br><span>@@ -368,7 +368,7 @@</span><br><span>     ''' A sequence of repeating elements (e.g. TLVs). '''</span><br><span> </span><br><span>    # The item of sequence</span><br><span style="color: hsl(0, 100%, 40%);">-  ITEM: Optional[Envelope] = None</span><br><span style="color: hsl(120, 100%, 40%);">+       ITEM = None # type: Optional[Envelope]</span><br><span> </span><br><span>   def __init__(self, **kw) -> None:</span><br><span>                 if (self.ITEM is None) and ('item' not in kw):</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmocom-bb/+/23677">change 23677</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/osmocom-bb/+/23677"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmocom-bb </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I7211cfbb7549b6e700aa3dd44464ff762fd51185 </div>
<div style="display:none"> Gerrit-Change-Number: 23677 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>