From 6a650e2e5cf5cf369103f0cdb8392cb83b3bc126 Mon Sep 17 00:00:00 2001 From: Andre Anjos <andre.anjos@idiap.ch> Date: Thu, 6 Jul 2017 14:39:07 +0200 Subject: [PATCH] Fix python 3.x compatibility for 'jman ls' --- gridtk/models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gridtk/models.py b/gridtk/models.py index f641683..cef50f8 100644 --- a/gridtk/models.py +++ b/gridtk/models.py @@ -226,7 +226,7 @@ class Job(Base): """Returns the command line for the job.""" # In python 2, the command line is unicode, which needs to be converted to string before pickling; # In python 3, the command line is bytes, which can be pickled directly - return loads(self.command_line) if isinstance(self.command_line, bytes) else loads(str(self.command_line)) + return loads(self.command_line) if isinstance(self.command_line, bytes) else loads(self.command_line.encode()) def set_command_line(self, command_line): """Sets / overwrites the command line for the job.""" @@ -244,14 +244,14 @@ class Job(Base): """Returns the array arguments for the job; usually a string.""" # In python 2, the command line is unicode, which needs to be converted to string before pickling; # In python 3, the command line is bytes, which can be pickled directly - return loads(self.array_string) if isinstance(self.array_string, bytes) else loads(str(self.array_string)) + return loads(self.array_string) if isinstance(self.array_string, bytes) else loads(self.array_string.encode()) def get_arguments(self): """Returns the additional options for the grid (such as the queue, memory requirements, ...).""" # In python 2, the command line is unicode, which needs to be converted to string before pickling; # In python 3, the command line is bytes, which can be pickled directly - args = loads(self.grid_arguments)['kwargs'] if isinstance(self.grid_arguments, bytes) else loads(str(self.grid_arguments))['kwargs'] + args = loads(self.grid_arguments)['kwargs'] if isinstance(self.grid_arguments, bytes) else loads(self.grid_arguments.encode())['kwargs'] # in any case, the commands have to be converted to str retval = {} if 'pe_opt' in args: -- GitLab