This commit is contained in:
Kovid Goyal 2012-09-17 11:33:49 +05:30
parent eec37af75b
commit bf76858cb3
2 changed files with 26 additions and 32 deletions

View File

@ -6,7 +6,7 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
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)

View File

@ -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)