← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1583419] Re: Make dict.keys() PY3 compatible

 

Reviewed:  https://review.openstack.org/341946
Committed: https://git.openstack.org/cgit/openstack/watcher/commit/?id=cd60336e209e8900d28e06c167977ba21a07038c
Submitter: Jenkins
Branch:    master

commit cd60336e209e8900d28e06c167977ba21a07038c
Author: weiweigu <gu.weiwei@xxxxxxxxxx>
Date:   Thu Jul 14 13:45:47 2016 +0800

    Fix dict.keys() PY3 compatible
    
    The dict.keys()[0] will raise a TypeError in PY3,
    as dict.keys() doesn't return a list any more in PY3
    but a view of list.
    
    Change-Id: If15a153c9db9b654e761f8ad50d5d66a427efa4e
    Closes-Bug: #1583419


** Changed in: watcher
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1583419

Title:
  Make dict.keys() PY3 compatible

Status in Cinder:
  Fix Released
Status in neutron:
  Fix Released
Status in python-cinderclient:
  Fix Released
Status in python-manilaclient:
  Fix Released
Status in python-troveclient:
  Fix Released
Status in Rally:
  Fix Released
Status in tacker:
  Fix Released
Status in watcher:
  Fix Released

Bug description:
  In PY3, dict.keys() will return a view of list but not a list anymore, i.e.
  $ python3.4
  Python 3.4.3 (default, Mar 31 2016, 20:42:37) 
  >>> body={"11":"22"}
  >>> body[body.keys()[0]]
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  TypeError: 'dict_keys' object does not support indexing

  so for py3 compatible we should change it as follows:
  >>> body[list(body.keys())[0]]
  '22'

To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1583419/+subscriptions