Hi Julien,

can you please provide a call to reproduce the error? According to the
docs, the get_bugs has no `usertags` parameter:

  https://wiki.debian.org/DebbugsSoapInterface


Cheers,

Bastian


On Wed, 15 Aug 2018 09:57:42 +0200 Julien Cristau <jcris...@debian.org>
wrote:
> Package: python-debianbts
> Version: 2.7.2
> Severity: normal
> Tags: patch
> 
> Hi,
> 
> marshaling for get_bugs' "usertags" param doesn't seem to work properly.
> There's some special casing with _build_int_array_el for lists and
> tuples but not for dicts.  The below seems to make it work.
> 
> Cheers,
> Julien
> 
> diff --git a/debianbts/debianbts.py b/debianbts/debianbts.py
> index d638e26..8816b7a 100644
> --- a/debianbts/debianbts.py
> +++ b/debianbts/debianbts.py
> @@ -405,6 +405,13 @@ def get_bugs(*key_value):
>          arg_name = 'arg' + str(arg_n)
>          if isinstance(kv, (list, tuple)):
>              _build_int_array_el(arg_name, method_el, kv)
> +        elif isinstance(kv, dict):
> +            el = method_el.add_child(arg_name)
> +            for k, v in kv.items():
> +                if isinstance(v, (list, tuple)):
> +                    _build_int_array_el(k, el, v)
> +                else:
> +                    el.marshall(k, v)
>          else:
>              method_el.marshall(arg_name, kv)
>  
> 
> 

-- 
Dr. Bastian Venthur                                  http://venthur.de
Debian Developer                                 venthur at debian org

Reply via email to