Bug Description

Some Bambook users reported that calibre has removed the Bambook device plugin in the current releases. Is it possible to add this device plugin back?

I have check the code and found the plugin was removed on Dec 7, 2015. The comment says "The driver has not worked for years (it depended on a third party library that is not shipped with calibre anymore)".

In fact, the 3rd party library has never shipped with calibre due to license issues, every user of this plugin knows they need to prepare the library by themselves. I have a Chinese guideline for this operation on my Blog and it's easy to find it by search engines.

I have tried to revert the 0b1e77dd416788670c0b867c9ffe3416176766a9 commit in the source tree, the old code still works like a charm in the latest calibre code.

Actually, the Bambook device has been abandoned by the manufacture, the software to operate this device and its cloud service is not working anymore. The only way for old Bambook users to continue using this device is using calibre. So many of the users has to stick to the old versions of calibre in order to use this plugin. Personally, I didn't use the device for years, so I didn't notice that the plugin has been remove from calibre releases.

If you agree to restore this plugin, I can do some work to clear up the old code and resubmit a Pull Request on Github.

1) All new code these days in calibre has to follwo the following
guidelines:
- Stick the following lines at the top of the file:
#!/usr/bin/env python2
# vim:fileencoding=utf-8
from __future__ import (unicode_literals, division, absolute_import, print_function)

- Must be PEP8 compliant (use the tool pep8 or flake8 to check it)

2) For startup performance import only basic things at the top level of
the main driver module, as all drivers are imported at calibre startup

I'm closing this bug report, feel free to post more if you have
questions.