[Bug 1665709] Re: humanize_error function has type error

lei lu 1665709 at bugs.launchpad.net
Tue Feb 21 16:03:15 UTC 2017


0.9.3

Sent from my iPhone

> On Feb 21, 2017, at 10:16 AM, Chuck Short <chuck.short at canonical.com> wrote:
> 
> Which version is this with?
> 
> ** Changed in: voluptuous (Ubuntu)
>       Status: New => Incomplete
> 
> -- 
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1665709
> 
> Title:
>  humanize_error function has type error
> 
> Status in voluptuous package in Ubuntu:
>  Incomplete
> 
> 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

-- 
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:
  Incomplete

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