libvirt-cim-bounces@redhat.com wrote on 2009-03-11 04:08:36:

> >> > >  > Remove the "+" sign here. Only slash is enough.
> >> > Also, instead of calling try_assoc twice you can do the following:
> >> >
> >> > if curr_cim_rev >= libvirt_ec_changes:
> >> >         exp_desc = "Referenced domain `wrong' does not exist:"  \
> >> >                      " Domain not found"
> >> >
> >> > I tried to do this in the first patch, but it reports error as follows:
> >>
> >>   ERROR   - UnboundLocalError : local variable 'exp_desc' referenced
> >> before assignment
> >>   Traceback (most recent call last):
> >>   File "./lib/XenKvmLib/const.py", line 141, in do_try
> >>   File "03_forward_errs.py", line 80, in main
> >>     rc = try_assoc(instanceref, hs, exp_rc, exp_desc, options)
> >> UnboundLocalError: local variable 'exp_desc' referenced before assignment
> >> ERROR   - None
> > The error is coming from line no 80 and not from the control stmt added.
> > Let me check this.
> >>  
> >>   So I define a new variable of cs_exp_desc to cover this and call
> >> try_assco twice.
> >>
>
> This is because exp_desc is defined outside of main().  main() doesn't
> own the exp_desc variable, so it's unable to modify it.
>
> Instead of defining exp_desc and exp_rc at the top of the file, define
> both in main().
>
> Or, you can do something like the following:
>
> cs_exp_desc = exp_desc
>
> curr_cim_rev, changeset = get_provider_version(options.virt, options.ip)
> if curr_cim_rev >= libvirt_ec_changes:
>      cs_exp_desc = "Referenced domain `wrong' does not exist:" + \
>                    " Domain not found"
>
> try_assoc(instance_cs, cs, exp_rc, cs_exp_desc, options)
>
> Whichever is fine.


  I submit a patch like the second option before, and deepti
  suggested that it's not a good idea to call the try_assoc() twice.
  I will submit a new patch with define the exp_rc and exp_desc inside
  of main().

  Thanks!
>
> --
> Kaitlin Rupert
> IBM Linux Technology Center
> kaitlin@linux.vnet.ibm.com
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim@redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim