Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A autojump
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 158
    • Issues 158
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 54
    • Merge requests 54
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • William Ting
  • autojump
  • Merge requests
  • !202

Use non-lazy enumeration for removal of dictionary keys.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge github/fork/rbrito/master into master Apr 14, 2013
  • Overview 2
  • Commits 1
  • Pipelines 0
  • Changes 1

Created by: rbrito

In the current situation, iterating over self.data.keys() is OK only when the dictionary is not modified, as self.data.keys() is lazily generated, at least in Python 3.

Unfortunately, as we intend to change the dictionary with the --purge option, we get a runtime exception when iterating the loop.

This commit fixes it by making the generation of the list of keys occur only once, so that the dictionary itself can be modified in the body of the loop.

Tested with both Python 2.7 and Python 3.3.

Signed-off-by: Rogério Brito rbrito@ime.usp.br

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/rbrito/master