don't use zipfile's context manager as it won't work on py2.6

Bug #955994 reported by Ionuț Arțăriși
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
Medium
Ionuț Arțăriși

Bug Description

Context managers were introduced in the zipfile module in python 2.7[1], so they don't work on py2.6. I noticed this failing unittest on py2.6

[1] http://docs.python.org/library/zipfile.html#zipfile-objects

======================================================================
ERROR: test_ec2_download_view (horizon.dashboards.settings.ec2.tests.EC2SettingsTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/lib/openstack-dashboard-test/horizon/dashboards/settings/ec2/tests.py", line 60, in test_ec2_download_view
res = self.client.post(INDEX_URL, data)
File "/usr/lib64/python2.6/site-packages/django/test/client.py", line 449, in post
response = super(Client, self).post(path, data=data, content_type=content_type, **extra)
File "/usr/lib64/python2.6/site-packages/django/test/client.py", line 259, in post
return self.request(**r)
File "/usr/lib64/python2.6/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/var/lib/openstack-dashboard-test/horizon/decorators.py", line 40, in dec
return view_func(request, *args, **kwargs)
File "/var/lib/openstack-dashboard-test/horizon/decorators.py", line 57, in dec
return view_func(request, *args, **kwargs)
File "/var/lib/openstack-dashboard-test/horizon/decorators.py", line 40, in dec
return view_func(request, *args, **kwargs)
File "/usr/lib64/python2.6/site-packages/django/views/generic/base.py", line 47, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/lib64/python2.6/site-packages/django/views/generic/base.py", line 68, in dispatch
return handler(request, *args, **kwargs)
File "/var/lib/openstack-dashboard-test/horizon/forms/views.py", line 75, in post
return self.get(self, request, *args, **kwargs)
File "/var/lib/openstack-dashboard-test/horizon/forms/views.py", line 63, in get
form, handled = self.maybe_handle()
File "/var/lib/openstack-dashboard-test/horizon/forms/views.py", line 58, in maybe_handle
self.form, self.handled = form.maybe_handle(self.request, **kwargs)
File "/var/lib/openstack-dashboard-test/horizon/forms/base.py", line 92, in maybe_handle
exceptions.handle(request)
File "/var/lib/openstack-dashboard-test/horizon/forms/base.py", line 90, in maybe_handle
return form, form.handle(request, data)
File "/var/lib/openstack-dashboard-test/horizon/dashboards/settings/ec2/forms.py", line 85, in handle
redirect=request.build_absolute_uri())
File "/var/lib/openstack-dashboard-test/horizon/dashboards/settings/ec2/forms.py", line 76, in handle
with zipfile.ZipFile(temp_zip.name, mode='w') as archive:
AttributeError: ZipFile instance has no attribute '__exit__'

Changed in horizon:
assignee: nobody → Ionuț Arțăriși (iartarisi)
status: New → In Progress
Devin Carlen (devcamcar)
Changed in horizon:
importance: Undecided → Medium
milestone: none → essex-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)

Reviewed: https://review.openstack.org/5343
Committed: http://github.com/openstack/horizon/commit/53f15d9424bd6137baf98187215520abb6c545cc
Submitter: Jenkins
Branch: master

commit 53f15d9424bd6137baf98187215520abb6c545cc
Author: Ionuț Arțăriși <email address hidden>
Date: Wed Mar 14 17:36:33 2012 +0100

    don't use zipfile's context manager as it won't work on py2.6

    Fixes bug: 955994

    Change-Id: I436c667f496b10d64281538692acc10e327a8fdf

Changed in horizon:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in horizon:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in horizon:
milestone: essex-rc1 → 2012.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.