diff mbox series

[1/1] analyze-migration.py: fix read_migration_debug_json() return type

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

Commit Message

Alexey Kirillov July 15, 2020, 3:21 p.m. UTC
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(-)

Comments

Philippe Mathieu-Daudé July 15, 2020, 4:06 p.m. UTC | #1
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()
>
Eduardo Habkost July 27, 2020, 7:52 p.m. UTC | #2
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 mbox series

Patch

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()