def change_language(self, idx): prefs['language'] = str( self.language.itemData(self.language.currentIndex()).toString()) import __builtin__ __builtin__.__dict__['_'] = lambda (x): x from calibre.utils.localization import set_translators from calibre.gui2 import qt_app from calibre.ebooks.metadata.book.base import reset_field_metadata set_translators() qt_app.load_translations() self.retranslate.emit() self.init_languages() reset_field_metadata() try: lang = prefs['language'].lower()[:2] metadata_plugins = { 'zh': ('Douban Books', ), 'fr': ('Nicebooks', ), 'ru': ('OZON.ru', ), }.get(lang, []) from calibre.customize.ui import enable_plugin for name in metadata_plugins: enable_plugin(name) except: pass
def change_language(self, idx): prefs['language'] = unicode_type( self.language.itemData(self.language.currentIndex()) or '') from polyglot.builtins import builtins builtins.__dict__['_'] = lambda x: x from calibre.ebooks.metadata.book.base import reset_field_metadata from calibre.gui2 import qt_app from calibre.utils.localization import set_translators set_translators() qt_app.load_translations() self.retranslate.emit() self.init_languages() reset_field_metadata() try: lang = prefs['language'].lower()[:2] metadata_plugins = { 'zh': ('Douban Books', ), 'fr': ('Nicebooks', ), 'ru': ('OZON.ru', ), }.get(lang, []) from calibre.customize.ui import enable_plugin for name in metadata_plugins: enable_plugin(name) except: pass lp = self.location.text() if lp == self.initial_library_location: self.set_initial_library_location() for x in globals().values(): if type(x) is type and hasattr(x, 'untranslated_name'): x.name = __builtins__['_'](x.untranslated_name)
def change_language(self, idx): prefs['language'] = str(self.language.itemData(self.language.currentIndex()) or '') import __builtin__ __builtin__.__dict__['_'] = lambda(x): x from calibre.utils.localization import set_translators from calibre.gui2 import qt_app from calibre.ebooks.metadata.book.base import reset_field_metadata set_translators() qt_app.load_translations() self.retranslate.emit() self.init_languages() reset_field_metadata() try: lang = prefs['language'].lower()[:2] metadata_plugins = { 'zh' : ('Douban Books',), 'fr' : ('Nicebooks',), 'ru' : ('OZON.ru',), }.get(lang, []) from calibre.customize.ui import enable_plugin for name in metadata_plugins: enable_plugin(name) except: pass
try: for suite in tests: for test in suite._tests: if test.__class__.__name__ == 'ModuleImportFailure': raise Exception('Failed to import a test module: %s' % test) for s in test: if s._testMethodName == q: ans = s raise StopIteration() except StopIteration: pass if ans is None: print('No test named %s found' % args.name) raise SystemExit(1) tests = ans else: tests = unittest.defaultTestLoader.loadTestsFromName( args.name) if args.name else find_tests() r = unittest.TextTestRunner r.resultclass = TestResult r(verbosity=4).run(tests) if __name__ == '__main__': from calibre.utils.config_base import reset_tweaks_to_default from calibre.ebooks.metadata.book.base import reset_field_metadata reset_tweaks_to_default() reset_field_metadata() run_tests()
def init_env(): from calibre.utils.config_base import reset_tweaks_to_default from calibre.ebooks.metadata.book.base import reset_field_metadata reset_tweaks_to_default() reset_field_metadata()
def stopTestRun(self): super(TestResult, self).stopTestRun() if self.wasSuccessful(): tests = sorted(self.times, key=self.times.get, reverse=True) slowest = ['%s [%g s]' % (t.id(), self.times[t]) for t in tests[:3]] if len(slowest) > 1: self.stream.writeln('\nSlowest tests: %s' % ' '.join(slowest)) def find_tests(): return unittest.defaultTestLoader.discover(os.path.dirname(os.path.abspath(__file__)), pattern='*.py') if __name__ == '__main__': from calibre.utils.config_base import reset_tweaks_to_default from calibre.ebooks.metadata.book.base import reset_field_metadata reset_tweaks_to_default() reset_field_metadata() parser = argparse.ArgumentParser() parser.add_argument('name', nargs='?', default=None, help='The name of the test to run, for e.g. writing.WritingTest.many_many_basic or .many_many_basic for a shortcut') args = parser.parse_args() if args.name and args.name.startswith('.'): tests = find_tests() q = args.name[1:] if not q.startswith('test_'): q = 'test_' + q ans = None try: for suite in tests: for test in suite._tests: for s in test: if s._testMethodName == q: