2019-08-23 07:58:24

by Johannes Berg

[permalink] [raw]
Subject: [PATCH] regdb: fix compatibility with python2

From: Johannes Berg <[email protected]>

Various changes in the commit mentioned below broke
compatibility with python2. Restore it in a way that
makes it worth with both versions.

Fixes: f3c4969c2485 ("wireless-regdb: make scripts compatible with Python 3")
Signed-off-by: Johannes Berg <[email protected]>
---
db2bin.py | 2 +-
db2fw.py | 2 +-
dbparse.py | 3 +--
3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/db2bin.py b/db2bin.py
index 28cd7d2ed373..29ae3136d5cb 100755
--- a/db2bin.py
+++ b/db2bin.py
@@ -118,7 +118,7 @@ reg_country_ptr.set()
for alpha2 in countrynames:
coll = countries[alpha2]
# struct regdb_file_reg_country
- output.write(struct.pack('>BBxBI', alpha2[0], alpha2[1], coll.dfs_region, reg_rules_collections[coll.permissions]))
+ output.write(struct.pack('>2sxBI', alpha2, coll.dfs_region, reg_rules_collections[coll.permissions]))


if len(sys.argv) > 3:
diff --git a/db2fw.py b/db2fw.py
index 0c0f030c0c63..3affd5a8e0fa 100755
--- a/db2fw.py
+++ b/db2fw.py
@@ -85,7 +85,7 @@ countrynames = list(countries)
countrynames.sort()
for alpha2 in countrynames:
coll = countries[alpha2]
- output.write(struct.pack('>BB', alpha2[0], alpha2[1]))
+ output.write(struct.pack('>2s', alpha2))
country_ptrs[alpha2] = PTR(output)
output.write(b'\x00' * 4)

diff --git a/dbparse.py b/dbparse.py
index 993f757b2cb1..5f7e08200fa0 100755
--- a/dbparse.py
+++ b/dbparse.py
@@ -1,6 +1,5 @@
#!/usr/bin/env python

-from builtins import bytes
from functools import total_ordering
import sys, math
from math import ceil, log
@@ -359,7 +358,7 @@ class DBParser(object):
for cname in cnames:
if len(cname) != 2:
self._warn("country '%s' not alpha2" % cname)
- cname = bytes(cname, 'ascii')
+ cname = cname.encode('ascii')
if not cname in self._countries:
self._countries[cname] = Country(dfs_region, comments=self._comments)
self._current_countries[cname] = self._countries[cname]
--
2.20.1


2019-10-29 14:02:40

by Seth Forshee

[permalink] [raw]
Subject: Re: [PATCH] regdb: fix compatibility with python2

On Thu, Aug 22, 2019 at 09:46:27PM +0200, Johannes Berg wrote:
> From: Johannes Berg <[email protected]>
>
> Various changes in the commit mentioned below broke
> compatibility with python2. Restore it in a way that
> makes it worth with both versions.
>
> Fixes: f3c4969c2485 ("wireless-regdb: make scripts compatible with Python 3")
> Signed-off-by: Johannes Berg <[email protected]>

Applied, sorry for the delay. Thanks!