def _launch_viewer(self, name=None, viewer='ebook-viewer', internal=True): self.gui.setCursor(Qt.BusyCursor) try: if internal: args = [viewer] if isosx and 'ebook' in viewer: args.append('--raise-window') if name is not None: args.append(name) self.gui.job_manager.launch_gui_app(viewer, kwargs=dict(args=args)) else: if iswindows: from calibre.utils.file_associations import file_assoc_windows ext = name.rpartition('.')[-1] if ext: try: prog = file_assoc_windows(ext) except Exception: prog = None if prog and prog.lower().endswith('calibre.exe'): name = os.path.basename(name) return error_dialog( self.gui, _('No associated program'), _( 'Windows will try to open %s with calibre itself' ' resulting in a duplicate in your calibre library. You' ' should install some program capable of viewing this' ' file format and tell windows to use that program to open' ' files of this type.') % name, show=True) open_local_file(name) time.sleep(2) # User feedback finally: self.gui.unsetCursor()
def _launch_viewer(self, name=None, viewer='ebook-viewer', internal=True): self.gui.setCursor(Qt.BusyCursor) try: if internal: args = [viewer] if isosx and 'ebook' in viewer: args.append('--raise-window') if name is not None: args.append(name) self.gui.job_manager.launch_gui_app(viewer, kwargs=dict(args=args)) else: if iswindows: from calibre.utils.file_associations import file_assoc_windows ext = name.rpartition('.')[-1] if ext: try: prog = file_assoc_windows(ext) except Exception: prog = None if prog and prog.lower().endswith('calibre.exe'): name = os.path.basename(name) return error_dialog( self.gui, _('No associated program'), _( 'Windows will try to open %s with calibre itself' ' resulting in a duplicate in your calibre library. You' ' should install some program capable of viewing this' ' file format and tell Windows to use that program to open' ' files of this type.') % name, show=True) open_local_file(name) time.sleep(2) # User feedback finally: self.gui.unsetCursor()