> > > > 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.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com