[PATCH] python 2.6 compatibility: Use 'with' statement only with one context

python 2.6 does not allow specifying multiple contexts in one 'with' statement. And it is used by RHEL6.5 Fix it by specifying just one context per 'with' statement. Signed-off-by: Aline Manera <alinefm@linux.vnet.ibm.com> --- src/kimchi/model/storagevolumes.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py index 4d0c231..50055a3 100644 --- a/src/kimchi/model/storagevolumes.py +++ b/src/kimchi/model/storagevolumes.py @@ -168,24 +168,24 @@ class StorageVolumesModel(object): pool = pool_model.lookup(pool_name) file_path = os.path.join(pool['path'], name) - with contextlib.closing(urllib2.urlopen(url)) as response,\ - open(file_path, 'w') as volume_file: - remote_size = response.info().getheader('Content-Length', '-') - downloaded_size = 0 + with contextlib.closing(urllib2.urlopen(url)) as response: + with open(file_path, 'w') as volume_file: + remote_size = response.info().getheader('Content-Length', '-') + downloaded_size = 0 - try: - while True: - chunk_data = response.read(READ_CHUNK_SIZE) - if not chunk_data: - break - - volume_file.write(chunk_data) - downloaded_size += len(chunk_data) - cb('%s/%s' % (downloaded_size, remote_size)) - except Exception, e: - raise OperationFailed('KCHVOL0007E', {'name': name, - 'pool': pool_name, - 'err': e.message}) + try: + while True: + chunk_data = response.read(READ_CHUNK_SIZE) + if not chunk_data: + break + + volume_file.write(chunk_data) + downloaded_size += len(chunk_data) + cb('%s/%s' % (downloaded_size, remote_size)) + except Exception, e: + raise OperationFailed('KCHVOL0007E', {'name': name, + 'pool': pool_name, + 'err': e.message}) StoragePoolModel.get_storagepool(pool_name, self.conn).refresh() cb('OK', True) -- 1.9.3

Reviewed-by: Crístian Viana <vianac@linux.vnet.ibm.com> On 11-09-2014 13:36, Aline Manera wrote:
python 2.6 does not allow specifying multiple contexts in one 'with' statement. And it is used by RHEL6.5 Fix it by specifying just one context per 'with' statement.
Signed-off-by: Aline Manera <alinefm@linux.vnet.ibm.com>

Tested-by: Wen Wang <wenwang@linux.vnet.ibm.com> On 09/12/2014 12:36 AM, Aline Manera wrote:
python 2.6 does not allow specifying multiple contexts in one 'with' statement. And it is used by RHEL6.5 Fix it by specifying just one context per 'with' statement.
Signed-off-by: Aline Manera <alinefm@linux.vnet.ibm.com> --- src/kimchi/model/storagevolumes.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py index 4d0c231..50055a3 100644 --- a/src/kimchi/model/storagevolumes.py +++ b/src/kimchi/model/storagevolumes.py @@ -168,24 +168,24 @@ class StorageVolumesModel(object): pool = pool_model.lookup(pool_name) file_path = os.path.join(pool['path'], name)
- with contextlib.closing(urllib2.urlopen(url)) as response,\ - open(file_path, 'w') as volume_file: - remote_size = response.info().getheader('Content-Length', '-') - downloaded_size = 0 + with contextlib.closing(urllib2.urlopen(url)) as response: + with open(file_path, 'w') as volume_file: + remote_size = response.info().getheader('Content-Length', '-') + downloaded_size = 0
- try: - while True: - chunk_data = response.read(READ_CHUNK_SIZE) - if not chunk_data: - break - - volume_file.write(chunk_data) - downloaded_size += len(chunk_data) - cb('%s/%s' % (downloaded_size, remote_size)) - except Exception, e: - raise OperationFailed('KCHVOL0007E', {'name': name, - 'pool': pool_name, - 'err': e.message}) + try: + while True: + chunk_data = response.read(READ_CHUNK_SIZE) + if not chunk_data: + break + + volume_file.write(chunk_data) + downloaded_size += len(chunk_data) + cb('%s/%s' % (downloaded_size, remote_size)) + except Exception, e: + raise OperationFailed('KCHVOL0007E', {'name': name, + 'pool': pool_name, + 'err': e.message})
StoragePoolModel.get_storagepool(pool_name, self.conn).refresh() cb('OK', True)

Applied. Thanks. Regards, Aline Manera
participants (3)
-
Aline Manera
-
Crístian Viana
-
Wen Wang