Same on bionic 18.04:

$  python2 --version
Python 2.7.15rc1

$ sudo hp-doctor -i
Traceback (most recent call last):
  File "/usr/bin/hp-doctor", line 42, in <module>
    check_extension_module_env('cupsext')
  File "/usr/share/hplip/base/g.py", line 340, in check_extension_module_env
    python_ver = xint((sys.version).split(' ')[0])              #find the 
current python version ; xint() to convert string to int, returns a list
  File "/usr/share/hplip/base/g.py", line 332, in xint
    return l
UnboundLocalError: local variable 'l' referenced before assignment
# Edit: pdb.set_trace()
$ sudo hp-doctor
> /usr/share/hplip/base/g.py(333)xint()
-> return l
(Pdb) ver
'2.7.15rc1'
(Pdb) ver.split('.')
['2', '7', '15rc1']
(Pdb) [int(x) for x in ver.split('.')]
*** ValueError: invalid literal for int() with base 10: '15rc1'
(Pdb) 

Code work-around:
# Convert string to int and return a list.
def xint(ver):
    try:
        l = [int(x) for x in ver.split('.')]
    except:
        l = []
        for x in ver.split('.'):
                try:
                   l.append(int(x))
                except:
                   l.append(None)
    return l

$ sudo hp-doctor
error: cupsext not present in the system. Please re-install HPLIP.

# debug info: [2, 7, None]

Solution for me is `python3 hp-doctor` instead:
$  python3 -VV
Python 3.6.5 (default, Apr  1 2018, 05:46:30) 
[GCC 7.3.0]

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

Title:
  hp-doctor: UnboundLocalError: local variable 'l' referenced before
  assignment

To manage notifications about this bug go to:
https://bugs.launchpad.net/hplip/+bug/1759278/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to