Package: python-weboob
Version: 0.i-2
Severity: normal

The python-weboob installs a script in /etc/bash_completion.d/weboob
that considerably slows down bash startup time, up to three seconds even on
high end systems.

On every shell invocation (regardless of whether weboob is used or not),
the weboob-config script is called, which is a large python script that
imports many packages, as can be seen when someone get impatient and
issues a Ctrl+C on the unresponsive terminal:

Traceback (most recent call last):
  File "/usr/bin/weboob-config", line 23, in <module>
    from weboob.applications.weboobcfg import WeboobCfg
  File 
"/usr/lib/python2.7/dist-packages/weboob/applications/weboobcfg/__init__.py", 
line 21, in <module>
    from .weboobcfg import WeboobCfg
  File 
"/usr/lib/python2.7/dist-packages/weboob/applications/weboobcfg/weboobcfg.py", 
line 26, in <module>
    from weboob.core.modules import ModuleLoadError
  File "/usr/lib/python2.7/dist-packages/weboob/core/__init__.py", line 22, in 
<module>
    from .ouiboube import Weboob, WebNip
  File "/usr/lib/python2.7/dist-packages/weboob/core/ouiboube.py", line 24, in 
<module>
    from weboob.core.modules import ModulesLoader, RepositoryModulesLoader, 
ModuleLoadError
  File "/usr/lib/python2.7/dist-packages/weboob/core/modules.py", line 24, in 
<module>
    from weboob.tools.backend import BaseBackend
  File "/usr/lib/python2.7/dist-packages/weboob/tools/backend.py", line 29, in 
<module>
    from weboob.tools.value import ValuesDict
  File "/usr/lib/python2.7/dist-packages/weboob/tools/value.py", line 22, in 
<module>
    import subprocess
  File "/usr/lib/python2.7/subprocess.py", line 387, in <module>
    """
KeyboardInterrupt

This is the only bash completion script (at least on my system) that
unconditionally calls an large interpreted program at shell startup.
The output of weboob-config will typically not change much and could
at least be cached.

An ideal solution would be to have weboob maintain a global and per-user
list of programs that must be auto-completed, which can be easily read by a
shell function.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-weboob depends on:
ii  python            2.7.6-2
ii  python-cssselect  0.9.1-1
ii  python-dateutil   1.5+dfsg-1
ii  python-lxml       3.3.5-1
ii  python-mechanize  1:0.2.5-3
ii  python-requests   2.3.0-1
ii  python-yaml       3.11-1+b1

Versions of packages python-weboob recommends:
ii  python-clientform                     1:0.2.5-3
ii  python-feedparser                     5.1.3-2
ii  python-gdata                          2.0.18+dfsg1-2
ii  python-imaging                        2.3.0-2
ii  python-mechanize [python-clientform]  1:0.2.5-3
ii  python-pil [python-pillow]            2.3.0-2+b1

Versions of packages python-weboob suggests:
pn  python-nose       <none>
ii  python-pysqlite2  2.6.3-3
ii  weboob            0.i-2

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to