예제 #1
0
    def open_tab(self, meta=None):
        if meta is None:
            meta = {}
        manager = network_manager.create_default()

        data = {}
        data['uid'] = id(data)

        self.factory[self].tab = PortiaBrowserTab(
            network_manager=manager,
            splash_proxy_factory=None,
            verbosity=0,
            render_options=RenderOptions(data, defaults.MAX_TIMEOUT),
            visible=True,
        )
        main_frame = self.tab.web_page.mainFrame()
        cookiejar = PortiaCookieJar(self.tab.web_page, self)
        self.tab.web_page.cookiejar = cookiejar
        if meta.get('cookies'):
            cookiejar.put_client_cookies(meta['cookies'])

        if meta.get('storage'):
            self.storage = meta['storage']

        main_frame.loadStarted.connect(self._on_load_started)
        self.js_api = PortiaJSApi(self)
        main_frame.javaScriptWindowObjectCleared.connect(
            self.populate_window_object)

        self.tab.set_images_enabled(False)
        self.tab.set_viewport(meta.get('viewport', _DEFAULT_VIEWPORT))
        self.tab.set_user_agent(meta.get('user_agent', _DEFAULT_USER_AGENT))
        self.tab.loaded = False
예제 #2
0
파일: ferry.py 프로젝트: JDFISH/portia
    def open_tab(self, meta=None):
        if meta is None:
            meta = {}
        manager = network_manager.create_default()

        data = {}
        data['uid'] = id(data)

        self.factory[self].tab = PortiaBrowserTab(
            network_manager=manager,
            splash_proxy_factory=None,
            verbosity=0,
            render_options=RenderOptions(data, defaults.MAX_TIMEOUT),
            visible=True,
        )
        main_frame = self.tab.web_page.mainFrame()
        cookiejar = PortiaCookieJar(self.tab.web_page, self)
        self.tab.web_page.cookiejar = cookiejar
        if meta.get('cookies'):
            cookiejar.put_client_cookies(meta['cookies'])

        main_frame.loadStarted.connect(self._on_load_started)
        self.js_api = PortiaJSApi(self)
        main_frame.javaScriptWindowObjectCleared.connect(
            self.populate_window_object
        )

        self.tab.set_images_enabled(False)
        self.tab.set_viewport(meta.get('viewport', _DEFAULT_VIEWPORT))
        self.tab.set_user_agent(meta.get('user_agent', _DEFAULT_USER_AGENT))
        self.tab.loaded = False
예제 #3
0
파일: server.py 프로젝트: yzou/splash
def default_splash_server(portnum,
                          max_timeout,
                          slots=None,
                          cache_enabled=None,
                          cache_path=None,
                          cache_size=None,
                          proxy_profiles_path=None,
                          js_profiles_path=None,
                          js_disable_cross_domain_access=False,
                          disable_proxy=False,
                          proxy_portnum=None,
                          filters_path=None,
                          allowed_schemes=None,
                          ui_enabled=True,
                          lua_enabled=True,
                          lua_sandbox_enabled=True,
                          lua_package_path="",
                          lua_sandbox_allowed_modules=(),
                          verbosity=None):
    from splash import network_manager
    manager = network_manager.create_default(
        filters_path=filters_path,
        verbosity=verbosity,
        allowed_schemes=allowed_schemes,
    )
    manager.setCache(_default_cache(cache_enabled, cache_path, cache_size))
    splash_proxy_factory_cls = _default_proxy_factory(proxy_profiles_path)
    js_profiles_path = _check_js_profiles_path(js_profiles_path)
    _set_global_render_settings(js_disable_cross_domain_access)
    return splash_server(
        portnum=portnum,
        slots=slots,
        network_manager=manager,
        splash_proxy_factory_cls=splash_proxy_factory_cls,
        js_profiles_path=js_profiles_path,
        disable_proxy=disable_proxy,
        proxy_portnum=proxy_portnum,
        ui_enabled=ui_enabled,
        lua_enabled=lua_enabled,
        lua_sandbox_enabled=lua_sandbox_enabled,
        lua_package_path=lua_package_path,
        lua_sandbox_allowed_modules=lua_sandbox_allowed_modules,
        verbosity=verbosity,
        max_timeout=max_timeout)
예제 #4
0
파일: kernel.py 프로젝트: SimonWan/splash
def init_browser():
    # TODO: support the same command-line options as HTTP server.

    # from splash.server import start_logging
    # class opts(object):
    #    logfile = "./kernel.log"
    # start_logging(opts)

    manager = network_manager.create_default()
    proxy_factory = None  # TODO

    data = {}
    data['uid'] = id(data)

    tab = BrowserTab(
        network_manager=manager,
        splash_proxy_factory=proxy_factory,
        verbosity=2,  # TODO
        render_options=RenderOptions(data, defaults.MAX_TIMEOUT),  # TODO: timeout
        visible=True,
    )
    return tab
예제 #5
0
def init_browser():
    # TODO: support the same command-line options as HTTP server.

    # from splash.server import start_logging
    # class opts(object):
    #    logfile = "./kernel.log"
    # start_logging(opts)

    manager = network_manager.create_default()
    proxy_factory = None  # TODO

    data = {}
    data['uid'] = id(data)

    tab = BrowserTab(
        network_manager=manager,
        splash_proxy_factory=proxy_factory,
        verbosity=2,  # TODO
        render_options=RenderOptions(data, defaults.MAX_TIMEOUT),  # TODO: timeout
        visible=True,
    )
    return tab
예제 #6
0
파일: server.py 프로젝트: Sunil-Cube/splash
def default_splash_server(portnum, max_timeout, slots=None,
                          cache_enabled=None, cache_path=None, cache_size=None,
                          proxy_profiles_path=None, js_profiles_path=None,
                          js_disable_cross_domain_access=False,
                          disable_proxy=False, proxy_portnum=None,
                          filters_path=None, allowed_schemes=None,
                          private_mode=True,
                          ui_enabled=True,
                          lua_enabled=True,
                          lua_sandbox_enabled=True,
                          lua_package_path="",
                          lua_sandbox_allowed_modules=(),
                          verbosity=None):
    from splash import network_manager
    manager = network_manager.create_default(
        filters_path=filters_path,
        verbosity=verbosity,
        allowed_schemes=allowed_schemes,
    )
    manager.setCache(_default_cache(cache_enabled, cache_path, cache_size))
    splash_proxy_factory_cls = _default_proxy_factory(proxy_profiles_path)
    js_profiles_path = _check_js_profiles_path(js_profiles_path)
    _set_global_render_settings(js_disable_cross_domain_access, private_mode)
    return splash_server(
        portnum=portnum,
        slots=slots,
        network_manager=manager,
        splash_proxy_factory_cls=splash_proxy_factory_cls,
        js_profiles_path=js_profiles_path,
        disable_proxy=disable_proxy,
        proxy_portnum=proxy_portnum,
        ui_enabled=ui_enabled,
        lua_enabled=lua_enabled,
        lua_sandbox_enabled=lua_sandbox_enabled,
        lua_package_path=lua_package_path,
        lua_sandbox_allowed_modules=lua_sandbox_allowed_modules,
        verbosity=verbosity,
        max_timeout=max_timeout
    )