def __run(self, context, options, args, bootstrap_event_handler): try: self.__get_options(options, args) except NameError as ex: print("Error while parsing command line arguments: %s" % ex, file=stderr) self.__parser.print_help() exit(1) if not options.countries_file: cf = join('config', 'countries.info') options.countries_file = cf if not options.output_file: options.output_file = None # importa el parser try: parser_class = self.__parser_loader.get_parser_class(options) except ImportError as ex: print("Error while loading Parser module %s: %s" % ( str(options.parser), ex), file=stderr) exit(1) from sdf import BaseParser if not issubclass(parser_class, BaseParser): print("%s must be a Parser class" % options.parser, file=stderr) exit(1) BrowserFactory.create_instance(context) parser = parser_class(context) context._set_parser(parser) self.__parser_loader.parser_loaded(context, parser) BootStrap.init_and_work(parser.run, bootstrap_event_handler)
def __get_browser(self, browser_type): "Obtiene un browser según una clase dada" if browser_type == self.browser_type.BasicBrowser: return BrowserFactory.get_instance().get_basicbrowser() elif browser_type == self.browser_type.WebKitBrowser: show_images = self.__context.options.webkitbrowser_showimages show = self.__context.options.webkitbrowser_show return BrowserFactory.get_instance().get_webkitbrowser(show, show_images) elif browser_type == self.browser_type.DefaultBrowser: if self.__context.options.use_webkitbrowser: return self.__get_browser(self.browser_type.WebKitBrowser) else: return self.__get_browser(self.browser_type.BasicBrowser) else: raise LogicError("Unknown browser type")
def browser(self): """ Devuelve una instancia de :class:`sdf.browsers.browser.Browser` asociado para usar en la navegación. Este browser puede ser un WebkitBrowser si se definió en las opciones el parámetro ``-W`` o un BasicBrowser de lo contrario. """ factory = BrowserFactory.get_instance() if self.__browser == None: if self.options.use_webkitbrowser: self.__browser = factory.get_webkitbrowser( self.options.webkitbrowser_show, self.options.webkitbrowser_showimages) else: self.__browser = factory.get_basicbrowser() return self.__browser
def get_basic_browser(): "Devuelve un basic_browser" return BrowserFactory.get_instance().get_basicbrowser()