Пример #1
0
	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)
Пример #2
0
	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")
Пример #3
0
	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
Пример #4
0
		def get_basic_browser():
			"Devuelve un basic_browser"
			return BrowserFactory.get_instance().get_basicbrowser()