Пример #1
0
    def __init__(self):
        # NOTE socket 创建
        self.s = socket.socket()
        self.s.setblocking(0)
        self.host = socket.gethostname()
        self.port = int(sys.argv[1])
        self.s.bind((self.host, self.port))
        self.s.listen(5)

        # NOTE Initialize CEF
        cef.Initialize({
            "context_menu": {
                "enabled": False,
                "navigation": True,  # Back, Forward, Reload
                "print": False,
                "view_source": False,
                "external_browser": False,  # Open in external browser
                "devtools": False,  # Developer Tools
            }
        })
        self.browser_settings = {
            "universal_access_from_file_urls_allowed": True,
            "file_access_from_file_urls_allowed": True,
        }

        # NOTE 循环变量初始化
        self.browser_dict = {}

        self.callback_dict = {
            # NOTE 确保加载完成再触发 模型加载 命令
            'loadAsset':
            lambda collections, data: collections.load_handler.dispatcher.
            connectEventList(lambda: collections.browser.ExecuteFunction(
                "loadAsset", data)) if collections.browser else None,
            'loadUrl':
            lambda collections, url: collections.browser.LoadUrl(url)
            if collections.browser and collections.browser.GetUrl(
            ) != url else None,
            'getUrl':
            lambda collections: collections.browser.GetUrl()
            if collections.browser else None,
            'goBack':
            lambda collections: collections.browser.GoBack()
            if collections.browser and collections.browser.CanGoBack(
            ) else None,
            'goForward':
            lambda collections: collections.browser.GoForward()
            if collections.browser and collections.browser.CanGoForward(
            ) else None,
            'reload':
            lambda collections: collections.browser.Reload()
            if collections.browser else None,
            'focusOut':
            lambda collections: collections.browser.SetFocus(False)
            if collections.browser else None,
            'focusIn':
            self.focusIn,
            'resize':
            self.resize,
        }
Пример #2
0
def main():
    check_versions()
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    # To change user agent use either "product_version"
    # or "user_agent" options. Explained in Tutorial in
    # "Change user agent string" section.
    settings = {
        # "product_version": "MyProduct/10.00",
        # "user_agent": "MyAgent/20.00 MyProduct/10.00",
    }
    cef.Initialize(settings=settings)
    #set_global_handler()
    #browser = cef.CreateBrowserSync(url=html_to_data_uri(HTML_code),
    #                                window_title="Tutorial")
    #browser = cef.CreateBrowserSync(url="http://www.zhaopin.com")
    browser = cef.CreateBrowserSync(url="http://www.baidu.com")

    js_binding(browser)
    bs4_visitor = Bs4Visitor()
    browser.SetClientHandler(LoadHandler(bs4_visitor))
    # browser.SetClientHandler(ResourceHandler())
    browser.SetClientHandler(RequestHandler())

    cef.MessageLoop()
    cef.Shutdown()
Пример #3
0
def CefThread():
    script_dir = os.path.dirname(os.path.realpath(__file__))
    url= 'file://%s/gui/index.html'%script_dir
    check_versions()
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error

    #p = Thread(target=TkSaveSubProc,args=(FILE_QUEUE,))
    #p.start()
    
    cef.Initialize()
    #set up a browser
    window_info = cef.WindowInfo()
    window_info.SetAsChild(0, [0,0,1280,720])
    browser = cef.CreateBrowserSync(
            window_title="PushBroom Planner",
            url=url, window_info=window_info)
    frame = browser.GetMainFrame()
    #set up the browser's javascript bindings
    external = External()
    bindings = cef.JavascriptBindings()
    bindings.SetObject("external",external)
    browser.SetJavascriptBindings(bindings)
    #enter main loop
    cef.MessageLoop()
    cef.Shutdown()
    FILE_QUEUE.put((None,None))
Пример #4
0
def main():        
    check_versions()
    #sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    # To change user agent use either "product_version"
    # or "user_agent" options. Explained in Tutorial in
    # "Change user agent string" section.
    settings = {
        # "product_version": "MyProduct/10.00",
        # "user_agent": "MyAgent/20.00 MyProduct/10.00",
        "auto_zooming": "0.0"
    }
    if WINDOWS:
        # noinspection PyUnresolvedReferences, PyArgumentList
        #cef.DpiAware.EnableHighDpiSupport()
        cef.DpiAware.SetProcessDpiAware()  # Alternative is to embed manifest
    cef.Initialize(settings=settings)
    set_global_handler()
    #path = os.path.normpath(os.path.join(os.path.dirname(sys.argv[0]), os.pardir, os.pardir))
    #htmlfile = os.path.join(path, 'html', 'index.html')
    #browser = cef.CreateBrowserSync(url=htmlfile,
    #browser = cef.CreateBrowserSync(url="file:///d:/ib/t1/dist/index.html",
    browser = cef.CreateBrowserSync(url="http://localhost:8080/#/",
                                    window_title="IB Trader")
    set_client_handlers(browser)
    set_javascript_bindings(browser)
    cef.MessageLoop()
    cef.Shutdown()
Пример #5
0
def main():
    check_versions()
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    if os.path.exists(SCREENSHOT_PATH):
        print("[screenshot.py] Remove old screenshot")
        os.remove(SCREENSHOT_PATH)
    command_line_arguments()
    # Off-screen-rendering requires setting "windowless_rendering_enabled"
    # option.
    settings = {
        "windowless_rendering_enabled": True,
    }
    switches = {
        # GPU acceleration is not supported in OSR mode, so must disable
        # it using these Chromium switches (Issue #240 and #463)
        "disable-gpu": "",
        "disable-gpu-compositing": "",
        # Tweaking OSR performance by setting the same Chromium flags
        # as in upstream cefclient (Issue #240).
        "enable-begin-frame-scheduling": "",
        "disable-surfaces": "",  # This is required for PDF ext to work
    }
    browser_settings = {
        # Tweaking OSR performance (Issue #240)
        "windowless_frame_rate": 30,  # Default frame rate in CEF is 30
    }
    cef.Initialize(settings=settings, switches=switches)
    create_browser(browser_settings)
    cef.MessageLoop()
    cef.Shutdown()
    print("[screenshot.py] Opening screenshot with default application")
    open_with_default_application(SCREENSHOT_PATH)
Пример #6
0
def main():
    print("main")
    check_versions()
    parser.loadConfig()
    wd = parser.getWD()
    if (not _DEBUG): sys.excepthook = cef.ExceptHook
    settings = {
        "context_menu": {
            "enabled": _DEBUG,
            "navigation": False,
            "print": False,
            "view_source": False,
            "external_browser": False,
            "devtools": True,
        },
        # "product_version": "MyProduct/10.00",
        # "user_agent": "MyAgent/20.00 MyProduct/10.00",
    }
    cef.Initialize(settings=settings)
    browser = cef.CreateBrowserSync(url=html_to_data_uri(_make_html()),
                                    window_title=APP_NAME)
    set_client_handlers(browser)
    set_javascript_bindings(browser)

    cef.MessageLoop()
    cef.Shutdown()
Пример #7
0
    def __init__(self,
                 start_url,
                 window_title="CEFApp",
                 jinja_env=None,
                 cef_temp_dir=None):
        """Initialize a new base CEF app
        
        :param start_url: Load url on browser startup
        :type start_url: str
        :param window_title: Top CEF browser title, defaults to "CEFApp"
        :type window_title: str, optional
        """
        sys.excepthook = cef.ExceptHook
        cef.Initialize()
        self.jinja_env = jinja_env
        if cef_temp_dir is None:
            self.cef_temp_dir = os.path.join(os.path.dirname(__file__),
                                             ".cef_temp")
        else:
            self.cef_temp_dir = cef_temp_dir
        self.browser = cef.CreateBrowserSync(url=start_url,
                                             window_title=window_title)
        self.bindings = cef.JavascriptBindings(bindToFrames=False,
                                               bindToPopups=False)

        #Ajout des clients handler
        self.set_client_handlers()
Пример #8
0
def init_browser(server_port):
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    cef.Initialize()
    cef.CreateBrowserSync(url="http://localhost:{0}?user=admin&pwd=admin".format(str(server_port)),window_title="OmniDB")
    cef.MessageLoop()
    cef.Shutdown()
    cherrypy.engine.exit()
Пример #9
0
def loadMap(dataUrl):
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    cef.Initialize()
    cef.CreateBrowserSync(url=dataUrl,window_title="Chord Map Application")
    cef.MessageLoop()
    cef.Shutdown()
    # lat -16.328546 lng -48.953403
def main():
    logger.setLevel(_logging.INFO)
    stream_handler = _logging.StreamHandler()
    formatter = _logging.Formatter("[%(filename)s] %(message)s")
    stream_handler.setFormatter(formatter)
    logger.addHandler(stream_handler)
    logger.info("CEF Python {ver}".format(ver=cef.__version__))
    logger.info("Python {ver} {arch}".format(ver=platform.python_version(),
                                             arch=platform.architecture()[0]))
    logger.info("Tk {ver}".format(ver=tk.Tcl().eval('info patchlevel')))
    assert cef.__version__ >= "55.3", "CEF Python v55.3+ required to run this"
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    root = tk.Tk()
    app = MainFrame(root)
    #app.get_browser().load_url(r"C:\Users\mani\AppData\Local\Temp\tmp9yiyyzeq.html")
    #app.browser = cef.CreateBrowserSync(cef.WindowInfo(),
    #                                     url=self.html_text)
    #print(type(app))

    #app.set_url(r"C:\Users\mani\AppData\Local\Temp\tmp9yiyyzeq.html")
    #app.LoadUrl()
    # Tk must be initialized before CEF otherwise fatal error (Issue #306)
    cef.Initialize()
    #app.get_browser()LoadUrl(r"C:\Users\mani\AppData\Local\Temp\tmp9yiyyzeq.html")
    app.mainloop()
    cef.Shutdown()
Пример #11
0
    def test_osr(self):
        sys.excepthook = cef.ExceptHook
        cef.Initialize(settings={"windowless_rendering_enabled": True})
        parent_window_handle = 0
        window_info = cef.WindowInfo()
        window_info.SetAsOffscreen(parent_window_handle)
        browser = cef.CreateBrowserSync(window_info=window_info, url=g_datauri)

        client_handlers = [
            LoadHandler(self),
            DisplayHandler(self),
            RenderHandler(self),
            DragHandler(self)
        ]

        for handler in client_handlers:
            browser.SetClientHandler(handler)

        browser.SendFocusEvent(True)
        browser.WasResized()

        # Test setting DragData.
        self.subtest_dragdata()
        cef_waiting(200)

        # Automatic check of asserts in handlers
        automatic_check_handlers(self, [] + client_handlers)

        browser.CloseBrowser(True)
        del browser
        cef.Shutdown()
Пример #12
0
def initialize():
    check_versions()
    sys.excepthook = cef.ExceptHook

    settings = {
        "debug": False,
        "log_severity": cef.LOGSEVERITY_DISABLE,  # cef.LOGSEVERITY_INFO,
        "locales_dir_path": cef.GetModuleDirectory() + "/locales",
        "resources_dir_path": cef.GetModuleDirectory(),
        "browser_subprocess_path": cef.GetModuleDirectory() + "/subprocess",
        "downloads_enabled": True,
        "remote_debugging_port": -1,
        "context_menu": {
            "enabled": True,
            "navigation": True,
            "print": True,
            "view_source": True,
            "external_browser": True,
            "devtools": True,
        },
        "ignore_certificate_errors": True,
    }
    switches = {
        # "disable-gpu": "1",
        "no-proxy-server": "1",
        "disable-web-security": "1",
    }

    cef.Initialize(settings, switches=switches)
Пример #13
0
    def run_cef(self, in_path: str, out_path: str) -> None:

        # Setup CEF
        sys.excepthook = customExceptHook  # to shutdown all CEF processes on error
        settings: Dict[str, bool] = {
            'windowless_rendering_enabled': True,  # offscreen-rendering
        }
        switches: Dict[str, str] = {
            # 'headless': '',
            'disable-gpu': '',
            'disable-gpu-compositing': '',
            'enable-begin-frame-scheduling': '',
            'disable-surfaces': '',
            'disable-smooth-scrolling': '',
        }
        browser_settings: Dict[str, int] = {
            'windowless_frame_rate': 30,
        }
        cef.Initialize(settings=settings, switches=switches)
        print()
        browser = self.create_browser(browser_settings, in_path, out_path)

        bindings = cef.JavascriptBindings()
        bindings.SetFunction("save_data", save_data_txt)
        browser.SetJavascriptBindings(bindings)

        # Enter loop
        cef.MessageLoop()

        # Cleanup
        browser.CloseBrowser()
        cef.Shutdown()
        print('\nDone!')
Пример #14
0
def create_form(request_url, request_method='get', request_param=None,
                external_data=None, session=None):
    sys.excepthook = cef.ExceptHook
    settings = {
        "product_version": "utilities/2.0.0",
        "user_agent": "utilities/2.0.0",
        'unique_request_context_per_browser': True,
        'persist_session_cookies': False,
        'cache_path': os.path.expanduser("~") + "/Kam1n0/client-web-cache/"
    }
    browser_settings = {
        # enable cross-site scripting. since our request sent from local
        # but the cookie is from remote (different origin)
        "web_security_disabled": True
    }
    cef.Initialize(settings=settings)
    set_global_handler()
    browser = cef.CreateBrowserSync(
        settings=browser_settings,
        url="file://" + get_application_path("resources/operations.html"),
        window_title="Kam1n0")
    set_client_handlers(browser, request_url, session)
    set_javascript_bindings(browser, request_url, request_method,
                            request_param, external_data)
    cef.MessageLoop()
    cef.Shutdown()
    os._exit(1)
Пример #15
0
    def __init__(self, start_page_name: str, js_bindings: dict):
        storage.browser = self  # adding to global object
        builtins.browser = self

        self.thread_id = threading.get_ident()

        self._check_versions()
        sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error

        settings = {
            # "product_version": "MyProduct/10.00",
            # "user_agent": "MyAgent/20.00 MyProduct/10.00",
            "debug": False,
            #"log_severity": cef.LOGSEVERITY_INFO,
        }
        cef.Initialize(settings=settings)

        start_page = self._html_to_data_uri(
            self.read(f'./cache/{start_page_name}.html'))
        self.browser = cef.CreateBrowserSync(window_title="Versus X",
                                             url=start_page)
        self.browser.SetClientHandler(LifespanHandler())

        self._bind_to_js(js_bindings)

        cef.MessageLoop()
        cef.Shutdown()
Пример #16
0
    def __init__(self):
        Backend.__init__(self)
        sys.excepthook = ExceptHook  # TODO: ??????????????

        # Application settings

        settings = {
            # "cache_path": "webcache/", # Disk cache
            # "debug": True,  # cefpython debug messages in console and in log_file  # TODO
            "log_severity":
            cefpython.LOGSEVERITY_INFO,  # LOGSEVERITY_VERBOSE
            "log_file":
            GetApplicationPath("debug.log"),  # Set to "" to disable.
            "release_dcheck_enabled":
            True,  # Enable only when debugging.
            # This directories must be set on Linux
            "locales_dir_path":
            cefpython.GetModuleDirectory() + "/locales",
            "resources_dir_path":
            cefpython.GetModuleDirectory(),
            "browser_subprocess_path":
            "%s/%s" % (cefpython.GetModuleDirectory(), "subprocess")
        }

        # Command line switches set programmatically
        switches = {
            # "proxy-server": "socks5://127.0.0.1:8888",
            # "enable-media-stream": "",
            # "--invalid-switch": "" -> Invalid switch name
        }

        cefpython.Initialize(settings, switches)
Пример #17
0
def main():
    script_dir = os.path.dirname(os.path.realpath(__file__))
    url = 'file://%s/index.html' % script_dir
    print(url)
    check_versions()
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error

    cef.Initialize()
    #set up a browser
    window_info = cef.WindowInfo()
    window_info.SetAsChild(0, [0, 0, 1000, 650])
    browser = cef.CreateBrowserSync(window_title="Hello World!",
                                    url=url,
                                    window_info=window_info)
    frame = browser.GetMainFrame()
    #set up the browser's javascript bindings
    external = External()
    bindings = cef.JavascriptBindings()
    bindings.SetFunction("echo", external.echo)
    bindings.SetObject("external", external)
    bindings.SetProperty("KEY_CODES", External.KEY_CODES)
    browser.SetJavascriptBindings(bindings)
    #enter main loop
    cef.MessageLoop()
    cef.Shutdown()
Пример #18
0
def create_window(uid, title, url, width, height, resizable, fullscreen,
                  min_size, confirm_quit, background_color, debug, js_api,
                  webview_ready):
    # app = QApplication.instance() or QApplication([])

    app = CefApplication(sys.argv)
    settings = {'context_menu': {'enabled': False}}
    cef.Initialize(settings)

    def _create():
        browser = BrowserView(uid, title, url, width, height, resizable,
                              fullscreen, min_size, confirm_quit,
                              background_color, debug, js_api, webview_ready)
        browser.show()

    if uid == 'master':
        _create()
        app.exec_()
        app.stopTimer()
        # del browser  # Just to be safe, similarly to "del app"
        del app  # Must destroy app object before calling Shutdown
        cef.Shutdown()
    else:
        i = list(BrowserView.instances.values())[0]  # arbitary instance
        i.create_window_trigger.emit(_create)
Пример #19
0
def run_cef_gui(url_target, title):
    check_versions()
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    cef.Initialize()
    cef.CreateBrowserSync(url=url_target, window_title=title)
    cef.MessageLoop()
    cef.Shutdown()
Пример #20
0
    def __init__(self, width=1920, height=1080, headless=False):
        self.width = width
        self.height = height
        self.headless = headless

        # pointer to reusable CEF objects
        self.console = []
        self.browser = None
        self.source = None
        self.domArray = None
        self.windowParams = None
        self.ready = True
        self._getSourceLock = threading.Condition()
        self._getDOMLock = threading.Condition()
        self._getReadyLock = threading.Condition()
        self._handler = fakechromehandlers(self)

        settings = {
            'user_agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) ' \
                         'AppleWebKit/537.36 (KHTML, like Gecko) ' \
                         'Chrome/64.0.3282.140 Safari/537.36'
        }
        if self.headless:
            settings['windowless_rendering_enabled'] = True
        cef.Initialize(settings=settings)
Пример #21
0
def main(display):
    sys.excepthook = cef.ExceptHook
    cef.Initialize(settings={})

    dbus_loop = DBusGMainLoop(set_as_default=True)
    bus = dbus.SystemBus(mainloop=dbus_loop)

    manager_path = f'/{GEOCLUE.replace(".", "/")}/Manager'
    manager_proxy = bus.get_object(GEOCLUE, manager_path)
    manager_iface = dbus.Interface(manager_proxy, f'{GEOCLUE}.Manager')

    client_path = manager_iface.CreateClient()
    client_proxy = bus.get_object(GEOCLUE, client_path)
    client_iface = dbus.Interface(client_proxy, f'{GEOCLUE}.Client')
    client_props_iface = dbus.Interface(client_iface, DBUS_PROPERTIES)
    client_props = client_props_iface.GetAll(f'{GEOCLUE}.Client')
    client_props_iface.Set(f'{GEOCLUE}.Client', 'DesktopId',
                           'geolocation.desktop')
    client_props_iface.Set(f'{GEOCLUE}.Client', 'RequestedAccuracyLevel',
                           GCLUE_ACCURACY_LEVEL_EXACT)

    map = Map(display, bus)

    client_iface.Start()
    client_iface.connect_to_signal('LocationUpdated', map.location_updated)

    loop = GLib.MainLoop()
    GLib.timeout_add(10000, loop.quit)
    loop.run()

    client_iface.Stop()
Пример #22
0
def search(query, root_url):
    global i

    print('query:', query, i)

    url = root_url
    if url.find('?') > -1:
        url += '&query=' + query
    else:
        url += '?query=' + query

    check_versions()
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    cef.Initialize()

    window_info = create_window_info('win' + str(i))
    i += 1

    browser = cef.CreateBrowserSync(window_info=window_info, url=url,
                                    window_title="词典")

    browser.SetClientHandler(LifespanHandler())
    # browser.LoadUrl('http://www.baidu.com')
    cef.MessageLoop()

    cef.Shutdown()  # 清除所有资源
Пример #23
0
def browser(cef, url):
    """ Starts a cef browser in the middle of the screen with url
    """

    # Keeps the splash from displaying on short tasks
    log.debug('Delaying splash for 2 seconds')
    time.sleep(2)
    log.info('Starting splash screen for long-running task')

    settings = {
        'background_color': 0xff000000,
        'cache_path': '',
        'context_menu': {
            'enabled': False
        },
        'debug': False,
        'command_line_args_disabled': False,
    }
    switches = {
        'disable-gpu': '',
        'disable-gpu-compositing': '',
    }

    sys.excepthook = cef.ExceptHook
    cef.Initialize(settings, switches)

    win_info = cef.WindowInfo()
    win_info.SetAsChild(0, coordinates(600, 360))

    cef.CreateBrowser(url=url, window_info=win_info, window_title='splash')
    cef.MessageLoop()
    cef.Shutdown()
Пример #24
0
def open_cef():

    sys.excepthook = cef.ExceptHook
    cef.Initialize()
    cef.CreateBrowserSync(url='http://127.0.0.1:8000',
                          window_title='Welcome to RxPoint')
    cef.MessageLoop()
Пример #25
0
def open_url_demo(url, title):
    # To shutdown all CEF processes on error
    sys.excepthook = cef.ExceptHook
    cef.Initialize()
    cef.CreateBrowserSync(url=url, window_title=title)
    cef.MessageLoop()
    cef.Shutdown()
Пример #26
0
def main():
    print("[devtools.py] url={0}".format(DEVTOOLS_URL))
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error
    cef.Initialize()
    cef.CreateBrowserSync(url=DEVTOOLS_URL, window_title="DevTools")
    cef.MessageLoop()
    cef.Shutdown()
Пример #27
0
    def browser_login(self):
        from cefpython3 import cefpython as cef
        br_WindowInfo = cef.WindowInfo()
        if sys.platform == 'win32':
            parent = self.create_window()
            br_WindowInfo.SetAsChild(parent, [0, 0, 500, 500])
        else:
            br_WindowInfo.SetAsChild(0, [0, 0, 500, 500])

        settings = {
            "debug": True,
            "log_severity": cef.LOGSEVERITY_INFO,
            "log_file": os.path.join(os.path.dirname(__file__),
                                     "deez_debug.log"),
        }
        cef.Initialize(settings=settings)
        browser = cef.CreateBrowserSync(br_WindowInfo,
                                        url="https://www.deezer.com/",
                                        window_title="Deezer Login")
        browser.SetClientHandler(LoadHandler())
        cef.MessageLoop()
        print("Shutdown Complete")
        # del browser
        print("cookies =", cookies)
        #pause()
        cef.Shutdown()
Пример #28
0
def Initialize(settings=None):
    """Initializes CEF, We should do it before initializing wx
       If no settings passed a default is used
    """
    sys.excepthook = ExceptHook
    if not settings:
        settings = {}
    if not "log_severity" in settings:
        settings["log_severity"] = cefpython.LOGSEVERITY_INFO
    if not "log_file" in settings:
        settings["log_file"] = ""
    if platform.system() == "Linux":
        # On Linux we need to set locales and resources directories.
        if not "locales_dir_path" in settings:
            settings["locales_dir_path"] = \
                cefpython.GetModuleDirectory() + "/locales"
        if not "resources_dir_path" in settings:
            settings["resources_dir_path"] = cefpython.GetModuleDirectory()
    if not "browser_subprocess_path" in settings:
        settings["browser_subprocess_path"] = \
            "%s/%s" % (cefpython.GetModuleDirectory(), "subprocess")

    # DEBUGGING options:
    # ------------------
    # cefpython.g_debug = True
    # cefpython.g_debugFile = "debug.log"
    # settings["log_severity"] = cefpython.LOGSEVERITY_VERBOSE
    # settings["log_file"] = "debug.log" # Set to "" to disable.
    # settings["release_dcheck_enabled"] = True

    cefpython.Initialize(settings)
Пример #29
0
def init(window):
    global _initialized

    if not _initialized:
        if sys.platform == 'win32':
            _set_dpi_mode(True)

        default_settings = {
            'multi_threaded_message_loop': True,
            'context_menu': {
                'enabled': _debug
            }
        }

        if not _debug:
            default_settings['remote_debugging_port'] = -1

        try:  # set paths under Pyinstaller's one file mode
            default_settings.update({
                'resources_dir_path':
                sys._MEIPASS,
                'locales_dir_path':
                os.path.join(sys._MEIPASS, 'locales'),
                'browser_subprocess_path':
                os.path.join(sys._MEIPASS, 'subprocess.exe'),
            })
        except Exception:
            pass

        all_settings = dict(default_settings, **settings)
        cef.Initialize(settings=all_settings)
        cef.DpiAware.EnableHighDpiSupport()

        _initialized = True
Пример #30
0
def main():
    # Use paths relative to this python file
    pythonFileFolder = os.path.dirname(os.path.realpath(__file__))
    os.chdir(pythonFileFolder)

    _, innerFolder = os.path.split(pythonFileFolder)

    check_versions()
    sys.excepthook = cef.ExceptHook  # To shutdown all CEF processes on error

    settings = {
        "remote_debugging_port": 49155,
    }

    cef.SetGlobalClientCallback("OnAfterCreated", on_after_create)

    cef.Initialize(settings=settings)

    browser = cef.CreateBrowserSync(url='file:///index.html',
                                    window_title=innerFolder)
    clientHandler = ClientHandler()
    browser.SetClientHandler(clientHandler)

    bindings = cef.JavascriptBindings()
    testObject = TestObject()
    bindings.SetObject("testObject", testObject)
    browser.SetJavascriptBindings(bindings)

    cef.MessageLoop()
    cef.Shutdown()