Message ID | 20200715152135.20287-1-lekiravi@yandex-team.ru |
---|---|
State | New |
Headers | show |
Series | [1/1] analyze-migration.py: fix read_migration_debug_json() return type | expand |
Cc'ing Eduardo/Cleber. On 7/15/20 5:21 PM, Alexey Kirillov wrote: > Since we use result of read_migration_debug_json() as JSON formatted string, > we must provide proper type. Before Python 3.6 json.loads() method > support only str typed input. > > Signed-off-by: Alexey Kirillov <lekiravi@yandex-team.ru> > --- > scripts/analyze-migration.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py > index 95838cbff3..c5f06482cf 100755 > --- a/scripts/analyze-migration.py > +++ b/scripts/analyze-migration.py > @@ -97,7 +97,7 @@ class MigrationFile(object): > # Seek back to where we were at the beginning > self.file.seek(entrypos, 0) > > - return data[jsonpos:jsonpos + jsonlen] > + return data[jsonpos:jsonpos + jsonlen].decode("utf-8") > > def close(self): > self.file.close() >
On Wed, Jul 15, 2020 at 06:21:35PM +0300, Alexey Kirillov wrote: > Since we use result of read_migration_debug_json() as JSON formatted string, > we must provide proper type. Before Python 3.6 json.loads() method > support only str typed input. > > Signed-off-by: Alexey Kirillov <lekiravi@yandex-team.ru> Queued for 5.2, thanks! I've added a small comment explaining why the explicit decode() call is needed. # explicit decode() needed for Python 3.5 compatibility return data[jsonpos:jsonpos + jsonlen].decode("utf-8") > --- > scripts/analyze-migration.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py > index 95838cbff3..c5f06482cf 100755 > --- a/scripts/analyze-migration.py > +++ b/scripts/analyze-migration.py > @@ -97,7 +97,7 @@ class MigrationFile(object): > # Seek back to where we were at the beginning > self.file.seek(entrypos, 0) > > - return data[jsonpos:jsonpos + jsonlen] > + return data[jsonpos:jsonpos + jsonlen].decode("utf-8") > > def close(self): > self.file.close() > -- > 2.25.1 > >
diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py index 95838cbff3..c5f06482cf 100755 --- a/scripts/analyze-migration.py +++ b/scripts/analyze-migration.py @@ -97,7 +97,7 @@ class MigrationFile(object): # Seek back to where we were at the beginning self.file.seek(entrypos, 0) - return data[jsonpos:jsonpos + jsonlen] + return data[jsonpos:jsonpos + jsonlen].decode("utf-8") def close(self): self.file.close()
Since we use result of read_migration_debug_json() as JSON formatted string, we must provide proper type. Before Python 3.6 json.loads() method support only str typed input. Signed-off-by: Alexey Kirillov <lekiravi@yandex-team.ru> --- scripts/analyze-migration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)