[Bug 1665709] [NEW] humanize_error function has type error

lei lu 1665709 at bugs.launchpad.net
Fri Feb 17 16:39:08 UTC 2017


Public bug reported:

The following code will trigger a type error

######################################################
import voluptuous
import voluptuous.humanize
import voluptuous.error

allowed_value = [1, 2, 3]

base = voluptuous.Schema({
    voluptuous.Required('age'): int,
    voluptuous.Required('children'): voluptuous.All(voluptuous.ExactSequence([
        {voluptuous.Required('first'): [voluptuous.Any(*allowed_value)]},
        {voluptuous.Required('second'): [voluptuous.Any(*allowed_value)]},
        ]),
        voluptuous.Length(min = 2, max=2))
        })


test = {'age': 40, 'children': [{'first': 12, 'second': 8}]}

def main():
    try:
        base(test)
    except voluptuous.error.Error as e:
        return voluptuous.humanize.humanize_error(test, e)

main()


Traceback (most recent call last):
  File "voluptuous_test.py", line 31, in <module>
    main()
  File "voluptuous_test.py", line 29, in main
    return voluptuous.humanize.humanize_error(test, e)
  File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 26, in humanize_error
    for sub_error in validation_error.errors
  File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 26, in <genexpr>
    for sub_error in validation_error.errors
  File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 29, in humanize_error
    offending_item_summary = repr(_nested_getitem(data, validation_error.path))
  File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 11, in _nested_getitem
    data = data[item_index]
TypeError: list indices must be integers, not str

** Affects: voluptuous (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to voluptuous in Ubuntu.
https://bugs.launchpad.net/bugs/1665709

Title:
  humanize_error function has type error

Status in voluptuous package in Ubuntu:
  New

Bug description:
  The following code will trigger a type error

  ######################################################
  import voluptuous
  import voluptuous.humanize
  import voluptuous.error

  allowed_value = [1, 2, 3]

  base = voluptuous.Schema({
      voluptuous.Required('age'): int,
      voluptuous.Required('children'): voluptuous.All(voluptuous.ExactSequence([
          {voluptuous.Required('first'): [voluptuous.Any(*allowed_value)]},
          {voluptuous.Required('second'): [voluptuous.Any(*allowed_value)]},
          ]),
          voluptuous.Length(min = 2, max=2))
          })

  
  test = {'age': 40, 'children': [{'first': 12, 'second': 8}]}

  def main():
      try:
          base(test)
      except voluptuous.error.Error as e:
          return voluptuous.humanize.humanize_error(test, e)

  main()


  Traceback (most recent call last):
    File "voluptuous_test.py", line 31, in <module>
      main()
    File "voluptuous_test.py", line 29, in main
      return voluptuous.humanize.humanize_error(test, e)
    File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 26, in humanize_error
      for sub_error in validation_error.errors
    File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 26, in <genexpr>
      for sub_error in validation_error.errors
    File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 29, in humanize_error
      offending_item_summary = repr(_nested_getitem(data, validation_error.path))
    File "/usr/local/lib/python2.7/site-packages/voluptuous/humanize.py", line 11, in _nested_getitem
      data = data[item_index]
  TypeError: list indices must be integers, not str

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/voluptuous/+bug/1665709/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list