From bf76858cb31e84e215ffc9615e81dc8161cd8707 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 17 Sep 2012 11:33:49 +0530 Subject: [PATCH] ... --- src/calibre/debug.py | 37 ++++++++++++++++++++------------- src/calibre/devices/__init__.py | 21 ++++--------------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/src/calibre/debug.py b/src/calibre/debug.py index 2a3cee9b15..22871cab9e 100644 --- a/src/calibre/debug.py +++ b/src/calibre/debug.py @@ -6,7 +6,7 @@ __copyright__ = '2008, Kovid Goyal ' Embedded console for debugging. ''' -import sys, os +import sys, os, functools from calibre.utils.config import OptionParser from calibre.constants import iswindows from calibre import prints @@ -160,26 +160,32 @@ def add_simple_plugin(path_to_plugin): os.chdir(odir) shutil.rmtree(tdir) -def run_debug_gui(logpath): - import time, platform - time.sleep(3) # Give previous GUI time to shutdown fully and release locks - from calibre.constants import __appname__, __version__, isosx - print __appname__, _('Debug log') - print __appname__, __version__ - print platform.platform() - print platform.system() - print platform.system_alias(platform.system(), platform.release(), - platform.version()) - print 'Python', platform.python_version() +def print_basic_debug_info(out=None): + if out is None: out = sys.stdout + out = functools.partial(prints, file=out) + import platform + from calibre.constants import __appname__, get_version, isportable, isosx + out(__appname__, get_version(), 'Portable' if isportable else '') + out(platform.platform(), platform.system()) + out(platform.system_alias(platform.system(), platform.release(), + platform.version())) + out('Python', platform.python_version()) try: if iswindows: - print 'Windows:', platform.win32_ver() + out('Windows:', platform.win32_ver()) elif isosx: - print 'OSX:', platform.mac_ver() + out('OSX:', platform.mac_ver()) else: - print 'Linux:', platform.linux_distribution() + out('Linux:', platform.linux_distribution()) except: pass + +def run_debug_gui(logpath): + import time + time.sleep(3) # Give previous GUI time to shutdown fully and release locks + from calibre.constants import __appname__ + prints(__appname__, _('Debug log')) + print_basic_debug_info() from calibre.gui2.main import main main(['__CALIBRE_GUI_DEBUG__', logpath]) @@ -206,6 +212,7 @@ def main(args=sys.argv): opts, args = option_parser().parse_args(args) if opts.gui: from calibre.gui2.main import main + print_basic_debug_info() main(['calibre']) elif opts.gui_debug is not None: run_debug_gui(opts.gui_debug) diff --git a/src/calibre/devices/__init__.py b/src/calibre/devices/__init__.py index 9fa0ab355c..69b8ddc07d 100644 --- a/src/calibre/devices/__init__.py +++ b/src/calibre/devices/__init__.py @@ -62,10 +62,11 @@ def debug(ioreg_to_tmp=False, buf=None, plugins=None): already have been called (for example in the main GUI), pass in the list of device plugins as the plugins parameter. ''' - import textwrap, platform + import textwrap from calibre.customize.ui import device_plugins + from calibre.debug import print_basic_debug_info from calibre.devices.scanner import DeviceScanner, win_pnp_drives - from calibre.constants import iswindows, isosx, __version__ + from calibre.constants import iswindows, isosx from calibre import prints oldo, olde = sys.stdout, sys.stderr @@ -85,21 +86,7 @@ def debug(ioreg_to_tmp=False, buf=None, plugins=None): out('Startup failed for device plugin: %s'%d) try: - out('Calibre Version:', __version__) - out(platform.platform(), platform.system()) - out(platform.system_alias(platform.system(), platform.release(), - platform.version())) - out('Python', platform.python_version()) - try: - if iswindows: - out('Windows:', platform.win32_ver()) - elif isosx: - out('OSX:', platform.mac_ver()) - else: - out('Linux:', platform.linux_distribution()) - except: - pass - + print_basic_debug_info(out=buf) s = DeviceScanner() s.scan() devices = (s.devices)